Registrace nového uživatele     Návod     Kluby     Archív  Lopuchu     Lopuch.cz  

Diskuze na Lopuchu,
pohlazení na duchu

Lopuch.cz

Jméno:
Heslo:
Podpora LCD:
 
Klub C, C++ [ŽP: neomezená] (kategorie Programování) moderuje Šéf Lopuchu.
Archiv

Články

Jak bezpečně ukončit vlákno z DllMain
FastAllocPool - urychlení častých alokací a dealokací
Akce a zpráva jako objekt
Tuply v C++
Efektivní alokátor malých objektů a tady druhý a třetí díl
Šablony: Být vládce kvalifikátorů
Vracíme z funkce objekty
Základy komunikace mezi procesy (ve Windows)
Multiple Interface a Instance Factory
Multithreading v C++ (ve Win32)
  Nastavení klubu     Nastavení práv     Homepage     Anketa     Přítomní     Oblíbené     Lopuch     Kategorie  
autor: 
text: 
vyplnit a 
Help
 Titulek, text příspěvku  
Opište pozpátku následující text bez prostředního znaku: eopglqa
[ 380 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  
huh huh 6.4.2014 19:14  892
Sekory [891]: Taky se tam píše "Iterators, pointers and references referring to elements removed by the function are invalidated.", takže na něm stejně nemůžeš po erase volat to ++.
sekory Sekory The journey of thousand miles - starts with a single step. 6.4.2014 17:25  891
Schvalne to tu zkusim trochu ozivit. Jaky je podle vas problem v nasledujicim kodu? (pod kodem reseni)

#include <list>
using namespace std;

int main()
{
list<int> test;
test.push_back(5);
test.push_back(2);

list<int>::const_iterator lit;
for (lit = test.begin(); lit != test.end(); ++lit)
{
test.erase(lit);
return 0;
}
}

Po chvili googlovani jsem zjistil, ze pro zmenu elementu v containeru nelze pouzit const iterator. Nicmene pak nechapu proc je tady nahore pod zalozkou C++11 napsano "iterator erase (const_iterator position);". Z toho bych pochopil, ze je to Ok. Zajimave take je, ze ten kod bez problemu funguje ve Visual Studiu (2012), nikolvek uz s g++
sekory Sekory The journey of thousand miles - starts with a single step. 30.10.2013 23:14  890
Vratim se k MFC na ktere jsem se tu ptal. Nakonec jsem pred nejakou dobou narazil na Ivor Horton's Beginning Visual C++ 2012, kde jsou zaklady celkem polopate vysvetlene. A ostatni i prvnich 11 kapitol, kde je vyuka C++ je celkem osvezujici. Neni to stokrat jinak Mistrovstvi v C++, coz je o C++ pred 20 lety. Ale tvari se to jako napsane znova s novou normou (c++11). Jakkoli jsem to jen proletl, celkem bych doporucil.

Ostatne hlavni duvod proc nemam rad ruzne navody na internetu je to, ze mi velice casto prijde, ze je to jen hure opsana/prepsana kniha o stejnem tematu, jakkoli se najdou i svetle vyjimky.
sekory Sekory The journey of thousand miles - starts with a single step. 20.1.2013 22:38  889
Diky za rady. Zatim teda porad nevim z jake strany na to pujdu, ale nevadi.
huh huh 20.1.2013 21:20  888
Sekory [884]: Za těch deset let se v podstatě jenom změnilo IDE + přibyly nějaké komponenty typu ribbon. Takže bych si klidně nějakou starší přečet. V angličtině knihy jsou. V češtině existuje starší online tutoriál na http://farao.czweb.org/mfc1.htm. V angličtině lze na webu MS najít sérii video tutoriálů.
bredy 20.1.2013 16:08  887
Jinak k dotazu: Já se to učil z MSDN. Nevím, jestli má smysl nějaká literatura.
sekory Sekory The journey of thousand miles - starts with a single step. 20.1.2013 15:06  886
Bredy: Tak samozrejme vetsina (ne-li vse), by melo jit napsat i bez toho ve Win API, ale o to mi ted nejde.
bredy 20.1.2013 14:55  885
SekoryNevím, MFC v lecčem pomůže, ale běžné věci si zvládnu napsat i bez MFC. Stačí mi napsat si jednu až dvě třídy (Window, Dialog) a zvládnu většinu, co dělá MFC.
sekory Sekory The journey of thousand miles - starts with a single step. 20.1.2013 13:27  884
MFCCo byste doporucili na nauceni MFC? Lepe cesky, ale muze byt i anglicky. Vsechny knihy jsou alespon 10 let stare a ackoli se mozna zas tolik nezmenilo, stejne se mi to moc nelibi.

ps. Samozrejme vim, ze dneska existuji daleko lepsi zpusoby jak tvorit GUI, ale o to mi v tomhle pripade nejde.
bredy 10.12.2012 13:01  883
Máš nějaký bordel v IDčkach nebo tak nějak
david11 David11 - Bilbo..and the mouse police never sleeps 27.11.2012 15:40  882
MFC dialogyMám problém s MFC dialogy. Nestalo se prosím vás někomu něco podobného, resp. mohl byste mi prosím někdo poradit v čem bych mohl mít botu?

V jednom projektu používám MFC dialogy běžně. Vznikla potřeba, abych je použil i v druhém, kde jsem je doteď neměl. Nastavil jsem v settings druhého projektu vše týkající se MfC (na co jsem přišel) stejně jako v prvním. A když teď v resourcích vytvořím nějaký svůj nový dialog a snažím se ho vyvolat, objeví se po zavolání dlg.DoModal(); dialog jiný (tnz. ne ten můj, v tom jiném je jen tlačítko OK a Ignore a křížek na zavření dialogu, jinak je celý dialog včetně stavového řádku prázdný).

Netušíte prosím někdo v čem by mohla být bota? Je to asi nějaká kravina, a já na to zaboha nemohu přijít... Díky.
bredy 25.9.2012 08:28  881
No fuj!
Pokud někam dávám referenci, tak proto, že nechci, aby se dala změnit.

Mimochodem, strčit do objektu referenci na cokoliv krásým způsobem eliminuje defaultní operátor přiřazení.
sekory Sekory The journey of thousand miles - starts with a single step. 4.9.2012 19:49  880
huh: To jsem ani nevěděl.. Někdo mi to říkal, tak jsem to prostě vyzkoušel, a je pravda, že práve jen na MSVC 2010, tak nevím jestli to kousne i jiný kompilátor.
huh huh 4.9.2012 19:42  879
Sekory [878]: Je zajímavý, že VC++ 2010 to stráví, protože standard jasně říká "If a union contains a static data member, or a member of reference type, the program is ill-formed."
sekory Sekory The journey of thousand miles - starts with a single step. 4.9.2012 19:27  878
huh se dotkl toho, jake reseni se zmenou reference jsem mel na mysli. Reference je vlastne neco jako pointer, takze staci vytvorit union s pointrem. V kodu je jeste jedna pomerna zajimava featura a to, ze jmeno typu muze poslouzit i jako jmeno promenne. :)



#include <iostream>
using namespace std;

union test
{
	int* p;
	int& r;
	test(int& x):r(x){}
};

main()
{
	int a = 5;
	test test(a);
	int c = 3;
	test.p = &c;
	c += 3;
	cout << test.r << endl;

	return 0;
}


[ 380 ] <Novější  <<<Nejnovější  Nejstarší>>>  Starší>  

(c) 2001-2011 Lopuch.cz   
Kontakt