【C/C++学习】之十二、++i与i++的区别
来源:互联网 发布:统计常用软件 知乎 编辑:程序博客网 时间:2024/04/28 00:58
大家都应该知道i++和++i的区别,前者是先使用i的值,然后再增加1,而后者是先增加1然后再使用i的值。
但是i++和++i那个更好呢? 我们通过程序来比较一下:
#include<iostream>using namespace std;class I{public:I();~I();I(const I &i);I& operator=(const I &i);I& operator++();I operator++(int);};I::I(){cout << "con" << endl;}I::~I(){cout << "dector" << endl;}I::I(const I& i){cout << "copy" << endl;}I& I::operator++(){cout << "increament" << endl;return *this;}I& I::operator=(const I &i){cout << "assign" << endl;return *this;}I I::operator++(int){I old = *this;++(*this);return old;}int main(void){I i;cout << "++i" << endl;++i;cout << endl;cout << "i++" << endl;i++;cout << endl;return 0;}
结果是:
从执行结果可以看出,++i就调用了一次构造函数,一次++操作,
而i++ 调用了两次复制构造函数,两次析构函数,一次++操作符。
通过上述的比较,大家可以看出是那个效率更好了吧!!!
2012/9/29
jofranks 于南昌
- 【C/C++学习】之十二、++i与i++的区别
- [C/C++学习]之十二、++i 和 i++性能比较
- linux c一站式学习 ++i和i++的区别
- 【C语言】语法--++i与i++的区别
- ++i与i++的区别(c++primer)
- java中的 i++ 与 C中的 i++ 的区别
- java中的 i++ 与 C中的 i++ 的区别
- 在C语言中 i++与++i的区别
- java中的 i++ 与 C中的 i++ 的区别
- 【C++】i++跟++i的区别
- 【c++】i++和++i的区别
- 【c语言】i++和++i的区别
- ++i和i++的区别(C++)
- [C++]关于i++和++i的学习
- [C++]关于i++和++i的学习
- [C++]关于i++和++i的学习
- [C++]关于i++和++i的学习
- 《Windows Via C/C++》学习之同步设备I/O与异步设备I/O
- 18岁的自由
- tomcat 接受编码变utf-8
- PHP项目中用iframe上传文件
- C++/CLI keywords: Under the hood
- 移动Web开发的十条军规
- 【C/C++学习】之十二、++i与i++的区别
- xcode内存检测工具Leak
- 关于xcode4.5提交app到appstore
- ecshop数据库全部表的含义和解释
- 恼人的设计模式
- Java自带的线程池ThreadPoolExecutor详细介绍说明和实例应用
- linux环境变量设置错误后,如何恢复解决方案
- 关系表达式中的注意问题—总结钱能C++
- 制作月牙的gui—笔记