Fondamentalmente, io sono un po 'stanco di scrivere:Come posso ridurre il sovraccarico sintattico del controllo dei valori degli iteratori in C++?
std::map<key_t, val_t> the_map;
...
auto iterator = the_map.find(...);
if(iterator != the_map.end()) { // note the "inversed" logic and logically superflous end() call
...
}
Ciò che ha reso senso sarebbe:
if(auto x=the_map.find(...)) {
... // x could either be an iterator or maybe something like boost::optional<val_t>
}
C'è qualche tecnica che definisce alcune cose aiuto per accorciare la sintassi != container.end()
o sono l'unico infastidito da questo?
Il tuo esempio non rende possibile l'uso * * il ritrovamento risultato * *? –
@ Martin: aggiunto con un esempio. – Nawaz