C++是一门计算机编程语言,G++不是语言,是一款编译器中编译C++程序的命令而已。
不同的编译器,会对代码做出一些不同的优化
比如说: a++; 和 ++a;
如果从标准C的角度去理解。a++这个语句等同于 a = a + 1
也就是说,我是先调用,再自增。在调用过程中,会申请一个新的数据地址,用于存放临时的变量a',然后在把a'加1,之后在把a'赋值给a。
但是++a这个语句不需要这么麻烦。因为他是先自增,后调用,也就是省去了申请新地址的功夫.
如果你使用gcc来编译,结果你会发现前++与后++二者基本上没有差异。