Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

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

C와 C++ 표준은 일반적으로 발표된 연도를 따라 이름이 붙습니다. 예를 들어 C++의 경우 최초의 표준이 1998년에 발표되어 'C++98'이라 불리며, 2003년에 이루어진 첫 번째 수정판은 'C++03'이라고 부릅니다.

C++0x라는 이름의 유래

그다음 개정 표준은 원래 2008년까지 완성될 것으로 예상되었습니다. 하지만 작업 일정이 확실하지 않았기 때문에, 확정 전까지는 임시로 'C++0x'라는 이름을 사용했습니다. 여기서 'x'는 8 또는 9를 의미했는데, 즉 2008년 또는 2009년에 발표될 것을 가정한 명칭이었습니다.

그렇다면 두 이름의 차이는?

결론부터 말하면 C++0x와 C++11은 사실상 같은 표준입니다. 다만 개발 계획이 예상보다 지연되면서 표준이 최종 확정된 시점은 2011년이었고, 그때부터 공식 명칭으로 'C++11'이 사용되기 시작했습니다.

정리하면 다음과 같습니다.

  • C++0x: 표준이 아직 확정되지 않은 시절(개발 단계)에 사용되던 임시 명칭
  • C++11: 2011년에 공식 발표된 이후의 정식 명칭

참고로 C++11에는 auto 타입 추론, 람다(lambda) 표현식, 이동 의미론(move semantics), 스마트 포인터 등 현대 C++의 기반이 되는 수많은 기능이 처음 도입되었으며, 당시 개발자들 사이에서는 이 새 기능들을 통칭해 'C++0x 기능'이라고 불렀습니다.