收集的一些關於C++的黑魔法
阿新 • • 發佈:2017-08-16
體會 指令 ios space pre std 字符 訪問 結果
逛知乎途中,發現了一些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,體會<---- 用法即可。註意這裏不能用----> 哦。我測試過了,會導致編譯錯誤的。
收集的一些關於C++的黑魔法