Widzę mieszane użycie tych dwóch terminów tutaj na SO.
C ++ 11, wcześniej znany również jako C ++ 0x ...
ale nie wiem dlaczego.
- Dlaczego najpierw został nazwany C ++ 0x, a potem C ++ 11?
- Co oznacza x? Zgaduję - jak zmienna?
Widzę mieszane użycie tych dwóch terminów tutaj na SO.
C ++ 11, wcześniej znany również jako C ++ 0x ...
ale nie wiem dlaczego.
0x
ma na celu wprowadzenie literału szesnastkowego.
Odpowiedzi:
Standardy C ++ i C są zwykle nazwane na podstawie roku, w którym zostały opublikowane, co ułatwia ich zapamiętanie.
Na przykład w C ++ oryginalny Standard został opublikowany w 1998 roku, więc mówimy o C ++ 98, a kiedy odnosimy się do jego pierwszej poprawki, opublikowanej w 2003 roku, mówimy o C ++ 03.
Rzekomo, że następny Standard będzie gotowy na rok 2008, ale ponieważ był niepewny, nazwano go C ++ 0x, gdzie x
oznaczało 8 lub 9. W praktyce jednak, jak wszyscy wiemy, planowanie zmieniło się i tak kończymy na C ++ 11.
Jednak w przypadku następnej wersji (C ++ 1x) Bjarne Stroustrup stwierdził, że zamierza to zrobić za 5 lat (czyli około 2016 r.). Na razie planowane są zmiany w podstawowym języku (koncepcje, moduły i wyrzucanie elementów bezużytecznych) i wydaje się, że nacisk kładziony jest bardziej na rozszerzenie biblioteki (na przykład systemu plików), ale jest jeszcze wcześnie, więc kto wie!
C ++ 0x był nazwą standardu przed jego wydaniem / sfinalizowaniem. Po jego sfinalizowaniu (w roku 2011) mogliśmy go nazwać poprawnie. To znaczy C ++ 11.
Kiedy rozpoczęto prace nad nowym standardem, mniej więcej w 1998 roku, nikt nie wiedział, w którym roku zostanie sfinalizowany - więc „x” oznaczało nieznany rok i nadzieję, że zostanie on ukończony w ciągu mniej więcej dziesięciu lat.
Ostatecznie został sfinalizowany w 2011 roku, więc standard jest obecnie znany potocznie jako C ++ 11, a oficjalnie jako ISO / IEC 14882: 2011.
Teraz, gdy ten standard jest już oficjalny, trwają prace nad następnym; znowu nikt nie wie, kiedy to zostanie zrobione, ale mamy nadzieję, że zajmie to mniej niż dekadę, więc potocznie nazywa się to C ++ 1x.