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

C++11의 핵심 변화 총정리: 모던 C++ 시대의 개막

C++11이란 무엇인가?

C++11은 2011년에 발표된 현대적인 C++ 표준으로, 기존 언어에 수많은 중요한 확장 기능과 개선 사항을 도입한 버전입니다. 이 표준은 단순한 업데이트를 넘어 C++을 더욱 안전하고 효율적이며 표현력 있는 언어로 탈바꿈시킨 전환점으로 평가받고 있습니다.

다음은 C++11에서 추가되거나 변경된 주요 기능들입니다.

언어 차원의 주요 변화

  • 초기화 리스트(Initializer lists)
  • 자동 타입 추론(Automatic type deduction)
  • Rvalue 참조와 이동 생성자(Move constructors)
  • constexpr – 일반화된 상수 표현식
  • POD(Plain Old Data) 정의의 수정
  • 균일 초기화(Uniform initialization)
  • 범위 기반 for 루프(Range-based for loop)
  • 람다 함수 및 람다 표현식
  • 대체 함수 문법(Alternative function syntax)
  • 명시적 override 및 final 지정자
  • 상수 null 포인터인 nullptr 도입
  • 강타입 열거형(Strongly typed enumerations)
  • 적절한 위치에서 오른쪽 꺾쇠 괄호(>>)가 연산자로 오인되지 않도록 개선
  • 가변 인자 템플릿(Variadic templates)
  • 멀티스레딩 메모리 모델 도입

표준 라이브러리(STL)의 확장

  • 해시 테이블(Hash tables) 추가
  • 정규 표현식(Regular expressions) 라이브러리 추가
  • shared_ptr, weak_ptr 등 범용 스마트 포인터 추가

C++11이 남긴 의미

이 외에도 C++11에는 수많은 개선 사항이 포함되어 있습니다. 자동 타입 추론과 람다 표현식은 코드 작성 방식을 크게 간소화했고, 스마트 포인터는 메모리 관리의 안전성을 한층 높였으며, 멀티스레딩 메모리 모델은 병렬 프로그래밍을 위한 표준 기반을 마련했습니다.

전체 변경 목록과 예제 코드는 Wikipedia의 C++11 문서에서 확인할 수 있습니다.