#include <iostream> using namespace std; class default { private: int a; public: int geta() const { return a; } }; int main() { default *p1 = new default; default *p2 = new default(); cout << "p1 is " << p1.geta() << endl; cout << "p2 is " << p2.geta() << endl; return 0; } vs 2008编译的结果是,第一个是乱码,第二个是0 cl /Fa 编译查看汇编发现,差别在于第二个在调用了new之后,还调用memset,参数是0 gcc 4.4 默认的情况下,都是输出0