收集的一些关于C++的黑魔法
逛知乎途中,发现了一些C++变态用法,现在记录下来。
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 cout << "1------------------>" << endl; 7 int i=5; 8 cout << sizeof(++i) << endl; 9 cout << i << endl; 10 cout << "2------------------>" << endl; 11 12 int x=10; 13 while(x --> 0) 14 { 15 cout << x << endl; 16 } 17 cout << "3------------------>" << endl; 18 cout << "ABCD"[0] << endl; 19 cout << "4------------------>" << endl; 20 x=10; 21 while(0 <---- x) 22 { 23 cout << x << endl; 24 } 25 return 0; 26 }
第一:打印的结果是 4,5。 也就是说第八行的代码++i没有执行。的确没执行。原因是sizeof是预编译指令,在编译阶段就执行了。
第二:打印出来的结果是9876543210. 体会-->符号的用法。
第三:打印结果是A。 这里将一个C风格字符串后加下标访问符号就可以访问对应位置的字符。
第四:打印结果是8642,体会<---- 用法即可。注意这里不能用----> 哦。我测试过了,会导致编译错误的。