例如,以下程序打印a = 20(++a 用作 l 值) // CPP 程序来说明 Pre-increment(或 pre-decrement) #include <cstdio> int main()
3.选项说明 id++, id-- variable post-increment, post-decrement ++id, --id variable pre-increment
自己初看到这个结论时自然是将信将疑,毕竟和自己之前的认知大相径庭,虽然我也认可书中给出的理由解释,但还是决定要亲自测试验证一下: // pre-increment profile int index =
std::cout << "Before increment: " << i << std::endl; int result1 = ++i; std::cout << "After pre-increment : " << i << std::endl; std::cout << "Result of pre-increment: " << result1 << std::endl; int Result of post-increment: " << result2 << std::endl; return 0; } 输出结果将是: Before increment: 0 After pre-increment : 1 Result of pre-increment: 1 After post-increment: 2 Result of post-increment: 1 可以看到,++i先将i的值加1,再返回加
std::cout << "Before increment: " << i << std::endl; int result1 = ++i; std::cout << "After pre-increment : " << i << std::endl; std::cout << "Result of pre-increment: " << result1 << std::endl; int Result of post-increment: " << result2 << std::endl; return 0; } 输出结果将是: Before increment: 0 After pre-increment : 1 Result of pre-increment: 1 After post-increment: 2 Result of post-increment: 1 可以看到,++i先将i的值加1,再返回加
= '\0') { // Pre-increment to skip return type.
And we pre-increment & decrement below.
~ ++ -- - + * & (type) sizeof Logical negation Bitwise complement Pre-increment Pre-decrement
+a // a and b are now both equal to 1 let c = a++ // a is now equal to 2, but c has been set to the pre-increment
和i++没有区别 int i = 1; System.out.println("i : " + i);//1 System.out.println("++i : " + ++i); //2 Pre-increment
/* Unsigned for defined overflow behavior */ size_t j; int cmp; /* Pre-increment
= '\0') { // Pre-increment to skip return type.
N/A $expr Field reference String N/A ++ lvalue Pre-increment