面向对象编程(二) 引用
引用的其他用法
引用作为成员变量
函数返回引用,可以将返回值做左值
拷贝构造
通过类的其他对象初始化当前对象(有默认拷贝构造方法,成员对成员的拷贝,可能发生对象的嵌套拷贝)
1 | //During call by value |
T::T(const T&)
建议每个类提供默认构造函数,拷贝构造函数,虚函数
其他
private针对类而非对象,可访问另一对象中的private成员
内存分配
栈
定义:存在于某作用域的一块内存空间,在函数本体内声明的任何变量,其使用的内存都取自于栈。在作用域结束后自动清理
堆
定义:操作系统提供的一块全局内存空间,程序可动态分配从中获得若干区块。其生命在做犹豫结束后仍然存在,直到整个程序结束
包含:
- static local objects
- global objects
- heap objects(new)
new和delete
new先分配内存后调用构造函数
1 | //Complex* pc = new Complex(1,2); |
delete先调用析构函数后释放内存
1 | //delete pc |
You need to set
install_url
to use ShareThis. Please set it in _config.yml
.