
C++ 11 - nový ISO C++ standardní
This is the translation of publication "C++11 - the new ISO C++ standard"
Author: Bjarne Stroustrup
Original version: http://www.stroustrup.com/C++11FAQ.html
C + 11 je ISO C + + standard byl ratifikován v roce 2011. Předchozí norma je často odkazoval se na jako C + 98 nebo C + 03 , rozdíly mezi C + 98 a C + 03 arů tak málo, a tak technické, že oni by netýká uživatelů.
Pozdní pracovní dokument je k dispozici. To se nachází v blízkosti konečného návrhu mezinárodní normy formálně přijat na 21-0 národního hlasu v srpnu 2011.
Před jeho oficiálním ratifikaci, říkali jsme, že nadcházející standard C + +0 x. Neměl jsem čas na aktualizaci název důsledně, sorry, a tak jsem rád jméno C + +0 x :-). Název "C + +0 x" je relikt z dob, kdy jsem a jiní, doufal v C + 08 nebo C + 09. Myslete na "x" jako hexadecimální (tj., C + +0 B == C + 11).
Všechny oficiální dokumenty vztahující se k C + 11 / C + +0 x lze nalézt na ISO C + + webové stránky výboru . Oficiální název výboru je SC22 WG21.
Upozornění: Tento FAQ bude ve výstavbě delší dobu. Komentáře, dotazy, odkazy, opravy a návrhy vítány.
Účel
Účelem tohoto C + 11 FAQ je
- Chcete-li podat přehled o nových zařízení (jazykové rysy a standardní knihovny), které nabízí C + 11 kromě toho, co je stanoveno v předchozí verzi normy ISO C + + standard.
- Chcete-li dát představu o cílech ISO C + + normy úsilí.
- Předložit uživatele pohled na nové zařízení
- Chcete-li poskytnout odkazy, aby bylo možné více do hloubky studium vlastností.
- Chcete-li pojmenovat mnoho jednotlivců, kteří přispěli (většinou jako autoři zpráv, které napsal pro výbor). Norma není napsán anonymní organizace.
Vezměte prosím na vědomí, že účelem tohoto FAQ není poskytnout komplexní diskusi o jednotlivých funkcích nebo podrobné vysvětlení o tom, jak je používat. Cílem je poskytnout jednoduché příklady ukazují, co C + 11 nabízí (plus odkazy). Můj ideální je "max jednu stránku na funkci" nezávisle na tom, jak složitý funkce je. Podrobnosti lze často nalézt v odkazech.
Seznamy otázek
Zde jsou některé vysoké úrovni otázky
- Co si myslíte o C + 11?
- Kdy bude C + +0 x je formální standard?
- Kdy bude překladače provádět C + 11?
- Kdy budou nové standardní knihovny k dispozici?
- Co nové jazykové vlastnosti se C + 11 nabízí? (seznam), viz také níže uvedené otázky
- Jaké nové standardní knihovny se C + 11 nabízí? (seznam), viz také níže uvedené otázky
- Jaké byly cíle C + +0 x úsilí?
- Jaké konkrétní provedení cílům řídí výbor?
- Kde mohu najít výboru papíry?
- Kde najdu akademické a technické papíry o C + 11? (seznam)
- Kde jinde si mohu přečíst o C + 11? (seznam)
- Existují nějaké videa o C + 11? (seznam)
- Je C + 11 těžké se naučit?
- Jak se výbor fungovat?
- Kdo je na výboru?
- Bude existovat C + 1 y?
- Co se stalo s "koncepcí?
- Existují nějaké funkce se vám nelíbí?
Otázky týkající se jednotlivých jazykových funkcí lze nalézt zde:
- __cplusplus
- zarovnání
- atributy
- atomové operace
- auto (typ odpočet z inicializátor)
- C99 funkce
- enum class (rozsahem a důrazně zadali výčtové typy)
- [[Carries_dependency]]
- kopírování a rethrowing výjimky
- konstantní výrazy (generalizované a zaručené; constexpr)
- decltype
- kontrolu nad výchozí: výchozí nastavení a odstranění
- ovládání výchozí: Přesouvání a kopírování
- vysílající konstruktory
- Dynamické Inicializace a Destruction s souběžnosti
- Výjimkou propagace (prevence to, noexcept)
- explicitní konverze subjekty
- rozšířené celočíselné typy
- externí šablony
- pro prohlášení , viz rozsah-pro prohlášení
- Přípona návratový typ syntaxe (rozšířené funkce prohlášení syntax)
- v dané třídě členské inicializátory
- zděděné konstruktory
- Inicializátor seznamy (jednotná a obecně inicializace)
- Inline namespace
- lambd
- místní třídy jako šablony argumenty
- dlouhé dlouhé celá čísla (alespoň 64 bitů)
- paměťový model
- pohybovat sémantiku, viz rvalue odkazy
- zúžení (jak tomu zabránit)
- [[Noreturn]]
- nulový ukazatel (nullptr)
- potlačit ovládací prvky: override
- potlačit ovládací prvky: v konečném znění
- POD (generalizované)
- Rozsah-pro prohlášení
- surový řetězec literály
- P-lomené závorky
- rvalue odkazy
- Jednoduché pravidlo SFINAE
- statické (v době kompilace) tvrzení (static_assert)
- šablony alias
- šablona typedef , viz šablony alias
- thread-local storage (thread_local)
- unicode znaků
- Jednotná inicializace syntaxe a sémantika
- svazy (generalizovaná)
- uživatelem definované literály
- variadic šablony
I často půjčují příklady z návrhů. V těchto případech: Díky návrhu autorů. Mnohé z těchto příkladů jsou půjčil si od svých vlastních rozhovorů a dokumentů.
Otázky týkající se jednotlivých standardních objektu knihovny lze nalézt zde:
- opuštění procesu
- Vylepšení algoritmu
- řada
- async ()
- atomové operace
- Stav proměnné
- Zlepšení kontejnerů
- funkce a bind
- forward_list se singly-liked seznam
- budoucnost a slib
- garbage collection ABI
- hash_tables , viz unordered_map
- metaprogramming a zadejte znaky
- Vzájemné vyloučení
- generátory náhodných čísel
- regex regulární výraz knihovna
- rozsahem alokátory
- shared_ptr
- inteligentní ukazatele , viz shared_ptr, weak_ptr, a unique_ptr
- nitě
- Čas utility
- n-tice
- unique_ptr
- unordered_map
- weak_ptr
- systémová chyba
Original version: http://www.stroustrup.com/C++11FAQ.html