C++ named requirements: StandardLayoutType (since C++11)
From cppreference.net
C++
C++ named requirements
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
타입이 표준 레이아웃 타입임을 지정합니다. 표준 레이아웃 타입은 다른 프로그래밍 언어로 작성된 코드와 상호 운용할 때 유용합니다.
참고: 표준에서는 이 이름의 명명된 요구 사항을 정의하지 않습니다. 이는 핵심 언어에 의해 정의된 타입 범주입니다. 일관성을 위해서만 명명된 요구 사항으로 여기에 포함되었습니다.
목차 |
요구사항
다음 유형들을 총칭하여 standard-layout types 라고 합니다:
- 스칼라 타입
- 표준 레이아웃 클래스 타입
- 해당 타입들의 배열
- 이러한 타입들의 cv-한정 버전
속성
Standard-layout 를 참조하십시오.
결함 보고서
다음 동작 변경 결함 보고서는 이전에 게시된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| CWG 1672 | C++11 |
첫 번째 비정적 데이터 멤버 규칙이 무시됨
빈 기본 클래스들의 존재 |
첫 번째 비정적 데이터 멤버 규칙을
재귀적으로 적용 |
| CWG 1813 | C++11 |
간접 기본 클래스에 정의된 멤버를 가진 클래스가
기술적으로 표준 레이아웃이 아니었음 |
모든 멤버 선언은
동일한 클래스에 있어야 함 |
| CWG 2120 | C++11 |
첫 번째 멤버로 배열이 있을 때
첫 번째 요소 타입과 기본 클래스 타입 비교 시 고려되지 않음 |
배열 멤버들을 고려함 |
참고 항목
|
(C++11)
|
해당 타입이
standard-layout
타입인지 검사합니다
(클래스 템플릿) |