c++中#include <>的後面加了分號,居然仍然能正常編譯運行,為什麼?


更:如果你說這是空語句的話,你可以試試把分號換成其他亂七八糟的東西,照樣是原來的Warning。

---------------- 分割線 ----------------

C++14 16.2 Source file inclusion

一言以蔽之,這是UB,所以編譯器怎麼搞都行。實際上個各大編譯器在這種情況下都會給你一個Warning,並且忽略後面的多餘 token,例如:


宏處理器健壯唄。


實際上是兩句話,一個是「導入」文件,一個是什麼也不幹,然後繼續執行下面的


寫50個也行

相當於這個空語句而已。

int a;

;

;

;

int b;


推薦閱讀:

Linux下學編程用哪個版本的Linux環境好?
如何編程求解 100 以內的質數?
為什麼很多C++書籍在講字元串的時候主要使用字元數組而不是string?
如何設計(規劃)一款遊戲戰鬥系統的狀態機?

TAG:編程 | C編程語言 | 計算機科學 | C | CC |