C++11은 표준 C++ 언어의 버전입니다. 2011년 8월 12일 ISO(국제표준화기구)의 승인을 받은 후 C++14 및 C++17이 승인되었습니다. C++11은 핵심 언어에 몇 가지 추가 기능을 제공합니다. Visual C++는 C++11의 대부분의 기능을 구현합니다.
Visual Studio 2015의 다음 C++11 기능 중 일부 -
-
nullptr − 이전 nullptr에서는 0이 값으로 사용되어 암묵적으로 정수 값으로 변환되는 단점이 있었습니다. 널 포인터 리터럴은std::nullptr_t로 표시됩니다. 이 nullptr에는 암시적 변환이 없습니다.
-
람다 − 람다 식을 사용하여 로컬에서 함수를 정의할 수 있습니다. 익명 함수를 람다라고 합니다. 함수 개체 std::function이 예상되는 모든 곳에서 람다 식을 사용할 수 있습니다.
-
자동 − 이전 버전에서는 객체의 유형을 지정해야 했지만 C++11에서는 유형을 지정할 필요가 없으므로 유형을 지정하지 않고 변수를 직접 선언할 수 있습니다.
-
재정의 및 최종 − 버전 C++11에는 두 개의 새로운 특수 식별자, 즉 override와 final이 도입되었습니다. 재정의는 메서드가 기본 클래스의 가상 메서드를 재정의해야 함을 나타냅니다. 반면, final은 파생 클래스가 가상 메서드를 재정의하지 않아야 함을 나타냅니다.
-
삭제 및 기본값 설정 기능 − 삭제된 기능은 객체 복사 방지에 유용합니다. 복사를 비활성화하려면 " =delete; " 사용. 기본 함수는 컴파일러에 함수의 기본 구현을 생성하도록 지시하고 " =default; "는 기본 기능에 사용됩니다.
-
강력한 형식의 열거형 − 기존 열거형에서는 주변 범위에서 열거자를 내보내는 데 사용되었습니다. "enum class" 키워드로 지정됩니다. 주변 범위에서 열거자를 내보내지 않습니다.
-
Static_assert 및 유형 특성 − 컴파일 시 assertion 체크를 수행한다. 주장이 참이면 아무것도 표시하지 않고 오류 메시지를 표시합니다.
-
범위 기반 for 루프 − C++11은 컬렉션 반복을 위한 범위 기반 for 루프를 도입했습니다. 이제 C-배열처럼 반복할 수 있습니다. 반복하는 'foreach' 패러다임을 지원합니다.