- datové struktury, které drží více položek
- rozbalování ntic (C++17) strucuted bindings
auto [x, y] = point; // copies
auto& [b, i, s] = answer; // reference
- rozbalení do existujících proměnných
std::tie
- zjištění automaticky dedukovaného typu -> zalování neexistujicí funkce nám kompilátor vyhodí
chybu s daným typem
- varianty s
emplace berou parametry pro konstruktor a vytváří objekt na místě -> mohou být efektivnější
const ...::iterator nedává smysl -> vztahuje se k iterátoru, né k vnitřní hodnotě
- při změně objektu může dojít k invalidaci jak iterátorů, tak referencí
- jakákoli změna řetězce kromě přímé změny 1 znaku, zneplatňuje vše
std::string_view předávat skoro vždy kopií
- operátor
[] při neexistenci klíče se automatiky vytvoří ! může být nechtěné if (map[123] == 1)