지정되지 않았습니다 (단, 0보다 커야 함). 정의 된 구현이 아니기 때문에 (문서화 할 필요가 없습니다.)
빈 클래스에 대해 1 이외의 다른 크기를 사용하는 이유가 확실하지 않습니다 ("빈 클래스"로 가정하면 다른 클래스에서 파생되지 않은 클래스에 대해서도 말합니다). 그러나 그럴 수 있다고 가정 해 봅시다. 이 (정의 구현 반대) 지정되지 않은 행동이 있다고 판단 무엇
약 Chubsdad의 문제를 해결하기 위해 :
표준과 같이 "지정되지 않은 동작을"정의 : A에 대한,
행동 잘 구성된 프로그램 구조와 올바른 데이터, 이는 구현에 달려있다. 구현은 어떤 동작이 발생하는지 문서화 할 필요가 없습니다.
그것은 같은 "구현 정의 동작"정의 각 구현 기록한다 구현 및 에 따라 잘 구성된 프로그램 구조 및 정확한 데이터를 들면
동작
두 가지의 유일한 차이점은 구현 정의 동작을 문서화해야한다는 것입니다. 표준은 행위가 문서화되어야 할 때를 말할 것이다. (대개 행동이 구현에 의해 정의된다고 말하면서)
불행하게도, 표준은 항상 행동이 지정되지 않았거나 정의되지 않았 음을 직접적으로 기술하지 않는다.
어떻게 그 값을 말하지 않는다, sizeof
빈 클래스의 0보다 큰 결과로 평가되어야
pty 클래스가 지정되지 않았습니다.
이 분석의 가능한 문제점 (그리고 C++ 표준과 같은 복잡한 분석 많은)은 빈 클래스의 크기가 필요할 수도있는 놓친 표준의 다른 모서리가있을 가능성이 있습니다 구체적인 가치가있다. 그리고 그 요구는 다른 규칙들로부터 추론 (또는 공제가 될 것인가?) 일 수도있다. 그것은 명백하게 진술되지 않을 수도있다. 특정 문제에 적용될 수있는 표준의 모든 영역을 추적하는 것이 항상 쉬운 것은 아닙니다.
그런 경우라면 누군가가 그 사실을 메모하고 내 주장을 털어 버릴 것입니다.
클래스 및 구조체 레이아웃은 일반적으로 시스템 단어 크기로 채워 지므로 일반적인 아키텍처에서는 4 크기가 더 많이 사용됩니다. –
그 결론은 나의 질문인가? 그것은 열린 마음으로 끝이났습니다. – Chubsdad
0이 아닌 것으로 지정되었습니다. :) – MSN