记忆小技巧,看 ++ 的位置,如果 ++ 在前,就是先自加,再赋值,如果 ++ 在后,就是先赋值再自加。
1. ++i++i 先自加,再赋值。
#includeint main() { int i = 0; int j = ++i; printf("i=%dtj=%dn", i, j); return 0; }
此时输出 i=1 j=1
2. i++i++ 先赋值,再自加。
#includeint main() { int i = 0; int j = i++; printf("i=%dtj=%dn", i, j); return 0; }
此时输出 i=1 j=0
3. ++i 和 i++ 作为自加时的效率比较#include#include using namespace std; int main() { int i; int N = 2000000000; int temp; clock_t startTime, endTime; startTime = clock();//计时开始 for(i = 0; i < N; ++i) { ; } endTime = clock();//计时结束 cout << "++i 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl; startTime = clock();//计时开始 for(i = 0; i < N; i++) { ; } endTime = clock();//计时结束 cout << "i++ 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl; startTime = clock();//计时开始 for(i = 0; i < N; i+=1) { ; } endTime = clock();//计时结束 cout << "i+=1 运行" << N << "的时间为: " << (double)(endTime - startTime) / CLOCKS_PER_SEC << "s" << endl; system("pause"); return 0; }



