C++0x

Szabványos könyvtárak

Változások az eredeti könyvtárakban

Az új nyelvi elemek több helyen is lehetőséget adnak a szabványos könyvtár fejlesztésére.

Többszálúság

Az új memóriamodell lehetővé teszi a többszálúságot, amelynek a támogatása nagyrészt a szabványos könyvtárban valósul meg. Az std::thread osztálynak oda lehet adni egy függvény objektumot, valamint paramétereket annak, amely így külön szálon fog futni. Az std::thread::join-nal az egyik szál bevárja amíg a másik befejezi a futást, alapvető szinkronizálást biztosítva.

További szinkronizációs lehetőségeket biztosítanak a monitorok (feltételes változók) (std::condition_variable) és mutexek (std::mutex).

A hatékony, alacsonyszintű kommunikációt is támogatja a könyvtár atomi műveletekkel valamint memória blokkolással.

Aszinkron kommunikáció csak ígéret szinten jelenik meg a könyvtárban, feltehetőleg valamikor a jövőben teljesen támogatottá válnak a könyvtárban.

Tuple

A Tuple új típus (típuscsalád) a könyvtárban, rendezett n-es, erősen épít a variadic template-kre. Használatuk a get függvény sablonnal történik.

Hash táblák

Az új szabvány bevezeti a hash táblákat, azaz a rendezetlen asszociatív tömböket. Minden set-nek és map-nak lesz megfelelője, std::unordered_ néven (pl unordered_multimap).

Reguláris kifejezések

Könyvtári támogatás objektumorientált módon az új regex headerben. A raw string literálok itt nagy szerephez jutnak.

Smart pointerek

Új pointer osztályok.

Véletlenszám generálás

Az új szabvány kettéválasztja a véletlenszám generálást: a generáló motorra és az eloszlásra. Háromféle generátor algoritmus (linear_congruential és mersenne_twister csak egészre, subtract_with_carry tetszőleges számra) és több eloszlás (egyenletes, gamma, geometriai stb.) áll rendelkezésünkre.