C++Building Day TWO
来源:互联网 发布:qemu 运行linux 编辑:程序博客网 时间:2024/05/12 03:07
(1)new出来的对象在堆空间,栈空间存放“参数”和“局部变量”
(2)假如没有删除一个指针就对其重新赋值:
int * p = new int;p = new int;
这样会造成“内存泄露”:第一行定义了一个指针p并使其只想一块内存空间,第二行又将一块新的内存空间的地址赋给了p。这样第一行所开辟的那块空间就无法再使用了,因为指向它的指针已经指向了第二块空间。假如该地址的内存空间没有使用delete p对其进行释放(注:不是删除指针p,而是释放p指向的内存空间),那么你将无法再次通过指针p访问它。
(3)对象在栈与堆中的不同:
Human Jack;//栈中Human * Jack = new Human;//堆中
栈是系统自动回收的,堆则需要程序员手动回收
(4)“this”指针保存的是对象的地址
(5)删除一个指针后需要立马赋值为0,这是一个好的习惯
(6)
a)常量指针: int const* = new int;p指针不能改变,但p指向的目标的值可以改变
b)指向常量的指针:const int * = new int;p指针可以改变,但这种指针必须要指向常量,不能改变常量的值
c)指向常量的常指针:const int const * p = new int;二者都不可改变
(7)引用就是别名,如:int &mum = num;
mum是num的别名,这样,对mum的操作实际就是对num的操作。mum与num的地址是一样的。
0 0
- C++Building Day TWO
- C++Building Day ONE
- C++Building Day THREE
- Day two
- The Two-day Weekent
- nmake; Day two
- JavaScript:Day two
- [打字练习]Day Two
- Microsoft Techdays Paris - Day Two
- Day Two,VMware Tools安装
- Two Day(1)---基本数据类型
- Two Day(2)---运算符
- Day 4 Building a CORBA Application
- Ontology Building Basedon Two-layer Ontology Model
- C. Building Permutation
- C++Building DayFOUR
- Day Two:了解Perl语言特点
- android--day two 任务栈和生命周期
- mysql索引需要了解的几个注意
- EasyUI 角色授权(SpringMVC+Hibernate)
- P2P个人投资理财排行榜
- 交互设计技巧——创造好的用户体验(1)(翻译)
- php Apache 虚拟主机配置方法
- C++Building Day TWO
- 计算机视觉的专家和网站
- 【GIFDecoder】GIFDecoder的排错以及修改另附完整代码和demo
- 杭电ACM2008java做法
- 通知
- C++之Template
- eit造型
- 个人投资理财渠道
- js自定义回调函数