立即注册 登录
返回首页

uid:189279的个人空间

日志

C/C++内存分配小tips

已有 603 次阅读2019-12-15 22:24 |个人分类:C/C++| tips

关于new的问题
new作为一个函数,调用时会默认初始化,但是根据对象类型的不同,其情况也不同。
1 内置类型:
   当new内置类型的单个对象时,为对象分配内存后其返回一个指向该对象的指针,但是并没有对其值进行初始化,所以得到的值是随机值。
   例如:int*pa = new int;
   当new内置类型的多个对象时,如数组,可以通过在后边加一对括号来进行值得初始化,均初始化为0。
   例如: int*pa = new int [10]; // 值并没有被初始化
              int*pa = new int [10] ();//值均被初始化为0 
2 自定义类型:
   对于自定义类型,当使用new来分配自定义类型对象时,会自动调用其默认的构造函数进行初始化,即使后边没有加括号。

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

返回顶部