c++中NEW对象的一些测试
2009-11-25 10:59
211 查看
在看《C++Primer》第四版 第5.11节new与delete,产生了一些疑惑,对于一个没有定义任何构造函数的类param,
new param()和new param是不同的,对于内置类型也是一样,书上的例子只给了内置类型int
其中a 为 随机值,按书上说法是,a为上次位于该内存的值,b初始化为0;现测试类类型的结果
这是未调试前的值
![](http://p.blog.csdn.net/images/p_blog_csdn_net/shiwei0124/EntryImages/20091125/snap.jpg)
这是调试后的的值
![](http://p.blog.csdn.net/images/p_blog_csdn_net/shiwei0124/EntryImages/20091125/snap2.jpg)
由此可以看到 对于没有提供任何构造函数的类,new 的时候加括号,会帮你创造一个默认构造函数,而且帮你初始化;
而new的时候没有加括号,也会帮你构造一个默认构造函数,只是什么都没做。
new param()和new param是不同的,对于内置类型也是一样,书上的例子只给了内置类型int
int *a = new a; int *b = new b();
其中a 为 随机值,按书上说法是,a为上次位于该内存的值,b初始化为0;现测试类类型的结果
class param { private: int x,y; } void main() { Param *a = new Param; Param *b = new Param(); Param c; Param d; Param *e = new Param(); }
这是未调试前的值
![](http://p.blog.csdn.net/images/p_blog_csdn_net/shiwei0124/EntryImages/20091125/snap.jpg)
这是调试后的的值
![](http://p.blog.csdn.net/images/p_blog_csdn_net/shiwei0124/EntryImages/20091125/snap2.jpg)
由此可以看到 对于没有提供任何构造函数的类,new 的时候加括号,会帮你创造一个默认构造函数,而且帮你初始化;
而new的时候没有加括号,也会帮你构造一个默认构造函数,只是什么都没做。
相关文章推荐
- c++中NEW对象的一些测试
- C++学习笔记之:关于类的一些补充测试(new和new[]/private构造/explicit等)
- C++用new和不用new创建类对象区别
- C++用new和不用new创建类对象区别
- 关于C++中对象指针的一些用法
- C++一些注意点之operator new 和new operator
- 关于C++中类与对象的一些讨论
- 【C++】new对象时有无()的区别
- c++中优化内存分配:new/delete操作符;allocator类对象的使用;operator new/operator delete函数及定位new表达式
- C++中定义类的对象:用new和不用new有何区别?
- 深度探索c++对象模型之new和delete运算符介绍
- C++用new和不用new创建类对象区别
- Self Summary: C++函数返回引用和指针的问题,局部对象与new对象的问题
- C++一些注意点之new和malloc
- C++创建对象,new与不new的区别
- C++实现记录类型内存分配方式的包装类,使对象(或原始类型)只能通过new的方式实例化
- C++中定义类的对象:用new和不用new有何区别?
- 有关C++多态的一些测试
- 深度探索C++对象模型之Data语义学小测试
- 转:C++中定义类的对象:用new和不用new有何区别?