가 된 타입의 비 정적 데이터 멤버가 아닌 표준 - 있죠, 맞아요 :
표준 레이아웃 클래스는 그 클래스이다 레이아웃 클래스 (또는 이러한 유형의 배열) 또는 참조 참조
어떤 특성 (들)은 표준 레이아웃 클래스의 정의에 포함되는 참조 회원들과 클래스를 방지?
가 된 타입의 비 정적 데이터 멤버가 아닌 표준 - 있죠, 맞아요 :
표준 레이아웃 클래스는 그 클래스이다 레이아웃 클래스 (또는 이러한 유형의 배열) 또는 참조 참조
어떤 특성 (들)은 표준 레이아웃 클래스의 정의에 포함되는 참조 회원들과 클래스를 방지?
표준 레이아웃 클래스는 모두 메모리에 특정 유형에 대한 레이아웃이 잘 정의되어 있습니다. C++에서 참조는 객체가 아니므로 구현 프로그램이 일반적으로 구현을위한 특정 구현 유형의 저장 공간을 가져야한다고하더라도 해당 프로그램에서 잘 정의 된 방식으로 액세스 할 수있는 저장소가 없습니다.
이런 이유로 참조 번호가 표준 레이아웃이어야하는 항목에 참조 멤버가 포함되어 있지 않습니다.
이 언급은 C++ 메모리 모델에 대한 섹션의 표준에서 비 규범적인 참고있다 :
[참고 : 이러한 참조 및 가상 함수와 같은 언어의 다양한 기능을 추가로 포함 할 수는 프로그램에 액세스 할 수 없지만 구현에 의해 관리되는 메모리 위치 -end note]
위대한 답변에 감사드립니다. 그 말이 완벽합니다. – TRISAbits
이러한 속성이 필요하다고 가정하고 있습니까? 그럴 필요가 없습니다 ... – Yakk
"예방"은 강한 단어입니다. 하나의 관점에서, 참조는 컴파일러에게 구조체를 추상 데이터 형식으로 취급하는 대신 좋은 변명을 제공합니다. 스토리지 레이아웃 사양. 참고 자료에는 자신의 * 모든 저장 공간이 필요하지 않습니다. – jthill