int *pi = new int; -> *pi的值不确定(5.3.4 - New 条款15) int *pi = new int(); -> *pi执行默认初始化(5.3.4 - New 条款15),再根据默认初始化的条款(8.5 - Initializers 条款5),即为执行0初始化 [解决办法] 不过要初始化的话,这种事最好不要让编译器给你做,自己最好显示的初始化 [解决办法] 有时间的话,你也可以看看这个帖子 http://topic.csdn.net/u/20090714/00/e7dad941-daf0-4905-a679-7a56ff412f77.html