C ++ 0x와 C ++ 11의 차이점은 무엇입니까?


82

여기에이 두 용어가 섞여있는 것을 볼 수 있습니다.

Wikipedia 말한다

이전에는 C ++ 0x로도 알려진 C ++ 11 ...

하지만 왜 그런지 모르겠습니다.

  • 처음에 C ++ 0x로 불린 다음 C ++ 11로 불리는 이유는 무엇입니까?
  • 또한 x는 무엇을 의미합니까? 내 추측-변수처럼?

2
사양의 작가가 지나치게 낙관적이라고 제로 수단 (프로그래머는 그처럼 항상 않나요?)
세르게이 Kalinichenko

2
C ++ 0x는 매우 낙관적 인 이름이었습니다. DukeNukem, erm, C ++ 4ever라고 부르는 것이 더 현실적이었을 것입니다.
fredoverflow

6
0과 낙관주의 사이의 연관성이 무엇인지 이해하지 못합니다.
René Nyffenegger

5
@ RenéNyffenegger 제로는 낙관주의를 나타냅니다. 사람들은 표준이 2000 년대에 완성 될 것이라고 생각했기 때문에 C ++ 08 또는 C ++ 09라고 불릴 것입니다. 실제로 2011 년까지 완료되지 않았습니다.
Brennan Vincent

2
이제 알겠습니다. 나는 항상 0x이 16 진수 리터럴을 소개하기위한 것이라고 생각했습니다 .
르네 Nyffenegger

답변:


96

C ++ 및 C 표준은 일반적으로 게시 된 연도에 따라 이름이 지정되므로 쉽게 기억할 수 있습니다.

예를 들어, C ++에서 원래 Standard는 1998 년에 출판되었으므로 우리는 C ++ 98에 대해 이야기하고 2003 년에 출판 된 첫 번째 수정 사항을 언급 할 때 C ++ 03에 대해 이야기합니다.

다음 표준은 2008 년에 수행 될 것이라고 주장되었지만 불확실했기 때문에 C ++ 0x로 명명되어 x8 또는 9를 나타 냈습니다. 실제로 우리 모두 알고 있듯이 계획이 바뀌 었습니다. 그래서 우리는 C ++ 11로 끝납니다.

그래도 다음 버전 (C ++ 1x)의 경우 Bjarne Stroustrup은 5 년 (2016 년경)에이를 수행하겠다고 말했습니다. 현재로서는 핵심 언어 (개념, 모듈 및 가비지 수집)에 대한 변경 사항이 있으며 라이브러리 (예 : 파일 시스템) 확장에 초점이 맞춰져있는 것 같지만 아직 초기 단계이므로 누가 알겠습니까!


2
개념, 가비지 수집, 모듈 ... (가비지 수집은 아마도 준비에 가장 가깝고 모듈은 여전히 ​​상당한 작업이 필요합니다.)
James Kanze

@JamesKanze : 가비지 컬렉션에 대해 들어 본 적이없고 모듈도 잊어 버렸습니다 (감사합니다). 모듈은 실제로 자체적으로 매우 쉽습니다 (많은 언어에 이미 있음). Doug Gregor가 실제 문제는 실제로 모듈과 실제 헤더 시스템을 일관된 전체로 연결하여 종속성을 기다릴 필요가 없다고 말했습니다. 수행하기 전에 마이그레이션하십시오. Doug는 Clang에서 모듈을 통합하기 위해 열심히 노력했지만 CLang 3.1의 람다를 다듬기 위해 약간의 제안을했습니다.
Matthieu M.

14
메시지, 우리는 C ++ 14 및 C ++ 17
Karolis Ryselis 2018 년

29

C ++ 0x는 출시 / 종료되기 전 표준의 이름이었습니다. 2011 년에 확정 된 후 제대로 이름을 지을 수있었습니다. 즉, C ++ 11입니다.


3
그리고 Bjarne의 " 'x'는 16 진수입니다."quip에 따르면 C ++ 0B 일 수도 있습니다. : P
Jon Purdy 2012 년

@JonPurdy 원래 목표는 2009 년 이전에 최종 표준을 내놓는 것이 었습니다. Bjarne은 x가 16 진수라는 것에 대한 그의 논평을했고 우리가 그것을 만들지 않을 것이라는 것이 분명해졌습니다. (그는 아이러니하게도 그 의미가 있습니다 모르겠어요..)
제임스 간제에게

5
@JamesKanze : 음, 그래. 그것은 농담. 표준위원회는 분위기를 밝게하기 위해 무언가 를해야 합니다 .
Jon Purdy 2012 년

4

표준은에서 출시 / 승인 될 예정 200x이었지만 실제로는에서 승인되었습니다 2011.


4

1998 년경에 새로운 표준에 대한 작업이 시작되었을 때 어느 해에 완성 될지 아무도 몰랐습니다. 그래서 "x"는 알려지지 않은 해를 나타내며 10 년 정도 안에 완성 될 것이라는 희망을 나타 냈습니다.

결국 2011 년에 최종화되었으므로 표준은 이제 구어체로 C ++ 11로, 공식적으로는 ISO / IEC 14882 : 2011로 알려져 있습니다.

이제 그 표준이 공식화되었으므로 다음 작업이 계속되고 있습니다. 다시 말하지만, 그 작업이 언제 완료 될지 아무도 모르지만 10 년 미만이 걸리기를 희망하며 구어체로 C ++ 1x로 알려져 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.