700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > new new()和new[]三者的区别

new new()和new[]三者的区别

时间:2019-06-06 13:06:58

相关推荐

new new()和new[]三者的区别

new、new()和new[]三者的区别

最近写程序,遇到了new, new()和new[]的三种情况,一时间有点混乱,因此总结如下:

1.new和new()

new A 来创建一个不确定值的对象或实例,new() 创建一个值为零的对象或实例.而new(X),用于创建一个被初始化为X的对象或实例.

只有当A是POD类型的时候,new A和new A()才会有上面的区别

何为POD?POD是plain old data的缩写,它是一个struct或者类,且不包含析构函数以及虚函数

当不是POD时,有构造函数时,两个都被初始化为零,属于默认构造.

没有构造函数是,两个都初始化为一个随机值,且两个值相同.

2.new和new[]

new 用于单个对象或者实例的创建,就是调用类的构造函数

new[]用于创建对象或实例的数组实例,并且地址是连续的

释放内存时,new使用 delete,而new[]则对应delete[]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。