引用是指针常量的伪装,是常量指针,和动态分配内存没有关系,引用的本质是指针,使用引用可减少内存拷贝!!!
函数重载
C++在编译时,会对相同的函数名进行加密,替换成不同名的函数!
内联函数
- 内联函数的运行速度要比常规函数快一些,缺点是占用更多的内存
- 内联函数不能递归
- 函数过大,编译器可能不将其作为内联函数
浅拷贝和深拷贝
浅拷贝时,对指针拷贝后会出现两个指针指向同一个内存空间,会导致内存被释放两次,导致程序崩溃!解决方法:深拷贝,如下:
this->ptr = new int;
*(this->ptr) = *gir.ptr;
而不是
this->ptr =gir.ptr;
初始化列表
如果没有初始化列表,对象的初始化和赋初始值是两步操作,但是用初始化列表,则为一步(调用拷贝构造函数),且代码更简洁
girl(string name, int age,int b) :age(age), name(name)
{
/* this->age = age;
this->name = name;*/
this->ptr = new int(b);
cout << "这里是构造函数!!" << endl;
}
类的静态成员
如果把类的成员声明为静态的,就可以吧它和类的对象独立开来(静态成员不属于对象)
私有静态成员在类外无法被访问!