前言
在学数据结构的树时,看以前记得笔记,有一个地方有疑问
typedef struct BNode()
{
int data;
struct BNode * Lson;
struct BNode * Rson;
} BNode, *Bptr;
BNode * p = new BNode;
BNode * p2 = new BNode();
new BNode
后面加不加括号的区别在哪里?
正文
1.1 资料
new对象后面加与不加括号的区别:
(1)加括号
- 若括号为空,即无实参项,那么理解为调用默认构造函数;
- 若括号非空,即有实参项,可以理解为调用重载构造函数,即用户自己定义的构造函数。
(2)不加括号
调用默认构造函数,或复合默认构造函数。
1.2 我的结论
所以,在这个环境下,我这个用户没有自己定义构造函数,所以,加不加括号无所谓,都是调用默认的构造函数。
老铁们,我说的对吗?
参考文献
[1] 爱代码三千. new对象后面加与不加括号的区别. cnblogs. 2020.03.
https://www.cnblogs.com/lovecode3000/p/12422462.html