[C++] 역사
Updated:
1979년 : C with Classes
- Bjarne Stroustrup가 객체 지향적인 언어인 Simula의 컨셉을 C언어에 접목
1983년 : C++
- 가상 함수, 연산자 오버로딩, 참조, const, new/delete 연산자 등을 포함한 기능들이 추가하며 클래식 C++의 틀 완성
1989년 : C++ 2.0
- 다중 상속, 추상 클래스, static 멤버 함수, const 멤버 함수 및 protected 멤버 등의 기능들이 추가
1998년 : C++98(ISO/IEC 14882:1998)
- 첫 공식 표준안
2003년 : C++03(ISO/IEC 14882:2003
- 표준화 문서상 불명확했던 것을 교정한 버전
- vector가 연속된 메모리를 할당
2007년 : C++TR1(ISO/IEC TR 19768:2007)
- 표준 라이브러리를 확장하는 것을 골자로 하는 C++ 테크니컬 리포트의 초안이 작성
- 표준안은 아니므로 컴파일러 제작사의 선택적인 확장안
- std가 아닌 std::tr1 네임스페이스에 포함
- 실험적인 성격의 사양은 std::experimental이라는 네임스페이스에 포함
2011년 : C++11(ISO/IEC 14882:2011)
- r-value/move, constexpr, std::initializer_list, Range-based for loop, lambda expression, 스마트 포인터, 정규표현식, 멀티쓰레드 등등 중요한 신 개념과 편의 기능들이 많이 추가
- 업데이트가 잘 완성된 후에 발표하려고 했던 접근 방식을 버리고 3년에 한 번씩 그때까지 정리된 업데이트만 발표하는 것으로 결정
2014년 : C++14(ISO/IEC 14882:2014)
- C++11을 다듬고 확장하는 마이너 표준안
2017년 : C++17(ISO/IEC 14882:2017)
- 파일 시스템, STL 병렬 알고리즘 처리 등이 추가
- deprecated 판정을 받은 std::auto_ptr 등이 삭제
2020년 : C++20
- 코루틴, 모듈 등이 추가