堆和拷贝构造函数

1. 全局变量、静态变量、常量存放在全局数据区,所有类成员函数和非成员函数代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区,余下的空间都被作为堆区。

2. 使用New和delete 而不使用malloc原因在于其不能在分配时调用构造函数。

3. 函数声明参数只需写类型,而定义时则需要写形参

4. 从堆上分配对象数组,只能调用默认的构造函数,不能调用其它任何构造函数,释放内存用delete []ps  (ps 为对象数组名),[]是要告诉C++该指针指向的是数组

5. 拷贝构造函数发生的情况:①用一个对象去构造另一个对象②对象作为参数传递时

6. 拷贝构造函数声明,例如:Student(Student& s),参数必须为类类型

7. 深拷贝与浅拷贝:当复制对象时,资源公用为浅拷贝,若重新分配资源则为深拷贝

8. 构造函数可以用于类型转换    

原文地址:https://www.cnblogs.com/hlb430/p/2613041.html