는 내가 구조체는 다음과 같은 정의한 경우 :컴파일러가 크기 0의 구조체를 최적화합니까?
struct blank {
int : 0;
};
윌 컴파일러 최적화이 멀리 런타임에 아무것도?
내가 묻기 때문에 this rather popular SO question입니다. 내 자신의 C/C++ 코드에서 비슷한 컴파일 타임 검사를 사용하고 싶습니다. 가능한 한 최적의 프로그램을 만들기 위해 노력하고있어 컴파일 타임 검사에만 사용한다면 런타임시에이 빈 구조체가 필요하지는 않습니다.
참고로 링크와 동일한 결과를 달성하는 C++ 관용적 방법이 있습니까?
C는 어떤 컴파일 타임 확인을 허용합니까? 이것은 C++의 유일한 질문 인 것 같습니다. – Potatoswatter
@Potatoswatter : C __does__는 컴파일 시간 검사를 허용합니다. 예를 들어, C에서 정적 어설 션을 구현할 수 있습니다. –
프로파일을 작성하여 프로그램이 빈 구조체의 인스턴스를 생성하는 데 많은 시간을 소비했는지 확인 했습니까? 그렇지 않다면 * 왜 당신은 신경을 쓰나요? * –