摘要: explicit关键字:防止构造函数隐式类型转换 运算符:new(重要):分配内存空间,delete释放内存空间 函数:malloc new的运算符里,当用new创建对象的时候,它在堆区为对象分配内存并调用构造函数完成初始化,delete释放空间 栈区开辟:Person p1 堆区开辟:Person 阅读全文
posted @ 2019-04-10 23:11 风不再来 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 构造函数的调用规则: 系统会提供三个函数,一个是默认的构造函数(无参,函数体为空),一个是拷贝构造函数(无参,函数体为空),一个是析构函数,对类中非静态成员属性简单值拷贝\如果用户定义了拷贝构造函数,C++不会再提供任何默认拷贝函数当我们提供了有参的构造函数之后,系统就不会给默认提供构造函数了 初始 阅读全文
posted @ 2019-04-10 14:05 风不再来 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数的调用时机: 第一种:使用已经创建好的对象来初始化新的对象 第二种方式:值传递的方式拷贝 第三种方式:以值方式返回局部对象 release模式下会做优化,debug模式下没有做优化 release模式下结果:第三种方式的 阅读全文
posted @ 2019-04-10 12:24 风不再来 阅读(303) 评论(0) 推荐(0) 编辑
摘要: struct和class的访问权限:结构体,类 struct和class 是相同的,唯一的而不同,就是默认权限,struct是public,class默认是private protected:保护权限,类内部(不包括继承的子类)是可以访问(属性和方法),类外部是不可以访问的 public公有权限:类 阅读全文
posted @ 2019-04-10 05:39 风不再来 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 默认参数: //默认参数//函数的默认参数,参数后面有'='//函数参数注意事项,如有一个位置有了默认参数//那么从该位置的后面就必须要有参数 void func(int a, int b = 10, int c = 4) { //b有默认参数,b的后面也应该要有默认参数,只要有一个位置有,那么之后 阅读全文
posted @ 2019-04-10 04:46 风不再来 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 常量引用:形参不能修改,节省开辟内存空间的开销 用一级指针代替二级指针常量引用,使用场景,修饰形参为只读const int a=10会分配内存如果使用引用,在前面加了一个const的话,那么就不可以修改形参 const int v = 43;//真正的一个常量,可以初始化数组,在C中不可以这样,C+ 阅读全文
posted @ 2019-04-10 01:54 风不再来 阅读(151) 评论(0) 推荐(0) 编辑