#pramga once 和 #ifndef 的區別:

#ifnodef 依賴於宏名字不能衝突;缺點就是,萬一不同的頭文件的宏名字不小心撞車,會讓編譯器找不到聲明;

#pramga once 由編譯器提供保證;根據物理上是否是同一個文件;好處是我不需要想宏名;
缺點上是拷貝一下,就被重複包含了;

因爲編譯器每次都要打開頭文件來判斷這個頭文件是否被包含,導致編譯時間增加,所以越來越多的編譯器現在選擇使用#pramga once(微軟的),大大提高了效率;但是ifndef支持任何c、C++的編譯器,因爲他是c++標準裏的一部分;所以移植性高;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章