나는 생성자에서 간단히 다음을 수행하는 클래스가 있습니다. printf ("Hello"); main() 함수 외부에서 해당 클래스의 인스턴스를 만들면 "Hello"가 디버그 메뉴에 나타나지 않습니다. 그러나 main() 함수 내부에서 클래스의 인스턴스를 만들면 "Hello"가 실제로 나타납니다.C++ main() 함수 외부에서 클래스의 인스턴스 만들기
왜 main() 함수 내부에서 만들어야합니까? main() 함수 외부에 넣을 때 작동하게 할 수있는 방법이 있습니까? 내가 디버그 콘솔이 printf
의 출력을 수신 할 준비가되기 전에 생성자가 실행 상상 클래스의 정적 예를 들어
int main(){
SomeClass instance;
}
어떤 컴파일러를 사용하고 있습니까? –
'main' 함수에서 전역 객체를 사용하려고합니다. 아마도 컴파일러는 전역 객체를 사용하지 않았기 때문에 최적화했을 것입니다. 또는 전역을'static const'로 만듭니다. 어떤 최적화 옵션을 사용하고 있습니까? –