if und &&
-
hallo
geht folgendes? :
vector<CString> vec; //... if (vec.size()>0 && vec.at(0)=="abcd") { //^^ wenn size==0 müsste doch bei vec.at(0) eine exception // ausgelöst werden //... }
oder muss ich das so schreiben
if (vec.size()>0 ) { if (vec.at(0)=="abcd") { //... } }
oder is das Compilerabhängig
-
Das geht. Der rechte Operand von && wird nur ausgewertet, wenn der linke true ergab.
-
oder du nimmst || = oder wenn es dir hilft..
-
Entweder du schreibst
if (vec.size()>0 && vec[0]=="abcd")
oder
if (vec.at(0)=="abcd")
-
vec.size()>0 kann man besser als
!vec.empty() schreiben
bzw. da hier .at() verwendet wird, kann man es uU auch weglassen, weil eh eine exception fliegt...