В принципе, я немного устал писать:
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
...
}
Что действительно имело смысл:
if(auto x=the_map.find(...)) {
... // x could either be an iterator or maybe something like boost::optional<val_t>
}
Есть ли какой-либо предшествующий уровень техники, который определяет некоторые вспомогательные вещи, чтобы сократить синтаксис != container.end()
или я единственный, кому это раздражает?