1.4.3 修饰函数参数与返回值
cosnt既可以修饰函数返回值、各参数、函数自身。
- const 修饰返回值
返回值有三种:值返回、指针返回、引用返回。
对于内部数据类型来说,返回值是否是常量没有区别。当时自定义的数据类型的时候,有时候不是const返回,会造成一定的困扰。
对于指针而言,注意不能返回指向局部栈变量的指针,返回时是无效的。指向堆或者data或者bss区时可以的。 - const 修饰函数 参数
参数以值传递的时候,加const 意义也不大。主要还是对于地址。因为假如传递地址的时候,不加const,那么就不能传递指向const的指针。
1.4.4 const 在类中的应用
- const成员函数
- 如果两个成员函数只是常量性不同,可以被重载。
- const 数据成员
常量数据成员必须在 构造函数的成员初始化列表中进行初始化。
1.5 内存管理与释放
1.5.1 c语言内存操作函数
c语言中是 malloc free
C++ new delete
1.5.2 C++内存管理
- 动态创建对象的初始化
int* p1=new int //无初始化
int* p1=new int(); //初始化为0
但对于类类型的对象,不管有没有初始化,都会调用默认构造函数。 - const对象的动态分配和回收