摘要: 单独的"++i"和"i++"是否有区别 对于基本类型: 二者没有区别,因为编译器会对代码进行优化,二者的汇编代码完全相同 对于类类型: 二者有区别 前置的效率更高,建议使用 重载"++i"和"i++" 重载前置操作符:classname& operator ++() 重载后置操作符:classnam 阅读全文
posted @ 2019-08-03 16:40 Yong_无止境 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 逗号操作符算法:从左到右依次计算每一个表达式的值,整个逗号表达式的值等于最右边表达式的值,前面n-1个表达式可以没有返回值 重载逗号操作符: 参数必须有一个class成员 重载函数返回值类型必须是引用 使用全局函数对逗号操作符进行重载 不建议重载逗号操作符:不能实现左到右依次计算每一个表达式的值,重 阅读全文
posted @ 2019-08-03 16:39 Yong_无止境 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 不建议重载逻辑操作符 原因:无法实现逻辑操作符的短路功能(即:不需要计算完全部表达式就可以得出结果) 逻辑操作符:|| && 操作符重载本质上是函数调用,而进行函数调用之前一定要计算出所有参数的值,然后才能调用函数,所以无法实现短路功能 不建议重载逻辑操作符 原因:无法实现逻辑操作符的短路功能(即: 阅读全文
posted @ 2019-08-03 16:32 Yong_无止境 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 用于缓解内存泄露的问题 用于替代原生指针 军规:只能指向堆空间中的对象或变量 方法 在智能指针的析构函数中调用delete 重载"->"操作符,只能重载成成员函数,且不能有参数 禁止智能指针的算术运算 一块对空间只能被一个智能指针指向 用于缓解内存泄露的问题 用于替代原生指针 军规:只能指向堆空间中 阅读全文
posted @ 2019-08-03 16:20 Yong_无止境 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 问题:一个空类包含什么 空的构造函数 拷贝构造函数(浅拷贝) 重载赋值操作符函数(浅拷贝) 析构函数 取址运算符 取址运算符const 空的构造函数 拷贝构造函数(浅拷贝) 重载赋值操作符函数(浅拷贝) 析构函数 取址运算符 取址运算符const 注意 所有的这些默认函数,只有在代码中调用了才会生成 阅读全文
posted @ 2019-08-03 16:07 Yong_无止境 阅读(781) 评论(0) 推荐(0) 编辑
摘要: 用于替代函数指针 优势:函数对象内部可以保存状态,而不必使用全局变量或静态局部变量 关键:重载"()"操作符 用于替代函数指针 优势:函数对象内部可以保存状态,而不必使用全局变量或静态局部变量 关键:重载"()"操作符 阅读全文
posted @ 2019-08-03 15:55 Yong_无止境 阅读(235) 评论(0) 推荐(0) 编辑
摘要: string类 阅读全文
posted @ 2019-08-03 14:38 Yong_无止境 阅读(315) 评论(0) 推荐(0) 编辑
摘要: C++标准库包含如下内容: C++标准编译工具链 C++扩展编译工具链(各种C++编译器独有) C++标准库 C++库 C库 C兼容库(为了兼容能够用C编译器编译的项目,直接使用C++也能编译) C++扩展库(各种C++编译器独有) C++标准库都在std名称空间中 C库和C兼容库的内容其实完全相同 阅读全文
posted @ 2019-08-03 13:58 Yong_无止境 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 运算符重载的本质也是对已有功能的扩展 运算符重载的本质就是函数重载,只是函数变成了 operator + 运算符 当成员函数和全局函数对运算符进行重载时,优先调用成员函数 运算符重载为成员函数时,可以少一个参数,调用时,以右参数为参数进行函数调用 不可以重载的运算符: . :: sizeof ?: 阅读全文
posted @ 2019-08-03 13:56 Yong_无止境 阅读(343) 评论(0) 推荐(0) 编辑
摘要: 函数重载 函数重载的本质是对已有功能的扩展 构成重载的三大条件 函数名相同 参数列表不通(与返回值无关) 重载函数的作用域相同 成员函数之间可以重载,成员函数和静态成员函数之间可以构成重载,全局函数之间可以构成重载,成员函数和全局函数不构成重载 普通函数和模板函数之间也可以构成重载,但是优先调用普通 阅读全文
posted @ 2019-08-03 10:47 Yong_无止境 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 延续C语言的结构体编程方式,直接访问类的私有成员,提高效率 友元分为函数友元和类友元 友元函数可以访问类的所有成员 友元类的所有成员函数都是友元函数 友元不具备传递性 友元函数和类的成员函数的区别 友元函数不是类的成员,只是声明 成员函数有this指针,而友元函数没有this指针 开发中不建议使用友 阅读全文
posted @ 2019-08-03 10:24 Yong_无止境 阅读(159) 评论(0) 推荐(0) 编辑