| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++ - 前置操作符++i与后置操作符i++ -> 正文阅读 |
|
[C++知识库]C++ - 前置操作符++i与后置操作符i++ |
1.值得思考的问题 下面的代码有没有区别?
代码示例:
编译错误分析: ++i +=1,等效于 ++(i = i + 1),这时候i还是变量,可以进行运算。 i++ +=1,等效于 ++i = 1,? 1 = 1 + 1,这时候编译就会犯错误。 2.前置操作符++与后置操作符++的效率 对于基础类型的变量: -> 前置++的效率与后置++的效率基本相同。 对于类类型的对象: -> 前置++i的效率高于后置i++。 -> 尽量使用前置++操作符提高程序效率。 代码示例:验证基础类型的变量
结果: 3.++操作符重载(--操作符自己来) ++操作符可以被重载: -> 全局函数和成员函数均可进行重载。 ->?重载前置++操作符不需要额外的参数。 -> 重载后置++操作符需要一个int类型的占位参数。 代码示例:验证类类型的对象
分析: 前置++直接在原来的基础上++就好,不需要建立栈对象。 后置++效率低,因为它需要在栈上创建临时对象,出栈时还需要销毁对象;前置++没有这种复杂操作。 小结: -> 编译优化使得最终的可执行程序更加高效。 -> 前置++操作符和后置++操作符都可以被重载。 -> ++操作符的重载必须符合其原生语义。 -> 对于基础类型,前置++与后置++的效率几乎相同。 -> 对于类类型,前置++的效率高于后置++。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:55:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |