i++和++i 的学习

Posted ^~~^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了i++和++i 的学习相关的知识,希望对你有一定的参考价值。

在<<C++ Primer>> 第四版 5.5中讲解到:

++i:返回操作之后的结果,且是个左值。

i++:返回操作之前的结果,且是有右值。

 1 // 2_3.cpp : 定义控制台应用程序的入口点。
 2 //
 3 
 4 #include "stdafx.h"
 5 #include <iostream>
 6 
 7 
 8 using namespace std;
 9 
10 int main()
11 {
12     int i(0), j(0);
13     cout << ++i << endl;
14     cout << j++ << endl;
15     return 0;
16 }

 

执行结果如下:

 

 

i++:先保存这个值本身,以便于返回未加1时的值。对于int型对象或者指针,编译器可以优化,但是对于复杂类型,这样的额外工作会损耗性能。

++i:将这个值加1,然后返回加1后的结果。

 

以上是关于i++和++i 的学习的主要内容,如果未能解决你的问题,请参考以下文章

js 常用代码片段

[Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)][C. Playing Piano](代码片段

这个代码片段究竟做了啥?

这个代码片段有啥作用?

vs 2010代码片段

vs 2010代码片段