Namespaces
Variants

C++ named requirements: StandardLayoutType (since C++11)

From cppreference.net
C++ named requirements

타입이 표준 레이아웃 타입임을 지정합니다. 표준 레이아웃 타입은 다른 프로그래밍 언어로 작성된 코드와 상호 운용할 때 유용합니다.

참고: 표준에서는 이 이름의 명명된 요구 사항을 정의하지 않습니다. 이는 핵심 언어에 의해 정의된 타입 범주입니다. 일관성을 위해서만 명명된 요구 사항으로 여기에 포함되었습니다.

목차

요구사항

다음 유형들을 총칭하여 standard-layout types 라고 합니다:

속성

Standard-layout 를 참조하십시오.

결함 보고서

다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
CWG 1672 C++11 첫 번째 비정적 데이터 멤버 규칙이 무시됨
빈 기본 클래스들의 존재
첫 번째 비정적 데이터 멤버 규칙을
재귀적으로 적용
CWG 1813 C++11 간접 기본 클래스에 정의된 멤버를 가진 클래스가
기술적으로 표준 레이아웃이 아니었음
모든 멤버 선언은
동일한 클래스에 있어야 함
CWG 2120 C++11 첫 번째 멤버로 배열이 있을 때
첫 번째 요소 타입과 기본 클래스 타입 비교 시 고려되지 않음
배열 멤버들을 고려함

참고 항목

해당 타입이 standard-layout 타입인지 검사합니다
(클래스 템플릿)