Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
以下两行有什么区别?
int *a = new int; int *a = new int();
int *a = new int;
a指向默认初始化的对象(在这种情况下是未初始化的对象,即根据标准该值是不确定的)。
a
int *a = new int();
a指向值初始化对象(在这种情况下是零初始化对象,即根据标准值为零)。
第一个变体默认初始化动态分配的,对于诸如不执行任何初始化int的内置类型。int
int
第二个变量值初始化它,这int意味着零初始化,给它 value 0。
0