C++命名空間和頭文件的關系 例如已經使用了#include ,為什么還要 using std::string?


(1)如果C++程序中使用了帶后綴".h"的頭文件,那么不必在程序中聲明命名空間,只需要文件中包含頭文件即可;(2)C++標准要求系統提供的頭文件不帶后綴".h",但為了表示C++與C的頭文件既有聯系又有區別,C++中所用頭文件不帶后綴".h",而是在C語言的相應頭文件名之前加上前綴c:

(3)自定義的頭文件通常帶后綴“.h",系統標准庫文件不帶后綴“.h"。

(4)因為標准庫非常的龐大,所程序員在選擇的類的名稱或函數名時就很有可能和標准庫中的某個名字相同。所以為了避免這種情況所造成的名字沖突,就把標准庫中的一切h標識符都被放在名字空間std中。

(5)answer:如果不使用using std::string,就在程序中使用string 類型變量,程序不能識別是標准庫中的string 變量。因為程序自定義頭文件中也可能含有string變量。所以一定要聲明using std::string。這樣程序里面的string類型變量就都是std標准庫中的string變量了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM