你能想到一个程序在没有达到你在main()开头设置的断点而崩溃的情况吗?
我的答案是在静态变量初始化期间,但不确定......
答案 0 :(得分:3)
以上示例都是正确的,但根据我的经验,这通常是由于加载DLL时出现了一些问题......
答案 1 :(得分:2)
一个非常简单的例子
struct abc
{
abc()
{
int* p = 0;
*p = 42; // Drat!
}
};
abc obj;
int main(){}
答案 2 :(得分:2)
我的回答100%保证会在main()
之前崩溃。
#include <exception>
struct A
{
A()
{
std::terminate(); //from <exception>
//you can also call std::abort() from <cstdlib>
}
};
A a;
int main(){}
演示:http://www.ideone.com/JIhcz
另一种解决方案:
struct A
{
A()
{
throw "none";
}
};
A a;
int main(){}