C++【“using namespace std”的意思、#include “iostream“与#include < iostream>区别、< iostream>与< iostream.h>区别】
目錄
1、“using namespace std”的意思
2、#include "iostream" 與 #include < iostream>區別
3、< iostream>與< iostream.h>區別
1、“using namespace std”的意思
在標準C++以前,都是用#include<iostream.h>這樣的寫法的,因為要包含進來的頭文件名就是iostream.h。
標準C++引入了名字空間的概念,并把iostream等標準庫中的東西封裝到了std名字空間中,同時為了不與原來的頭文件混淆,規定標準C++使用一套新的頭文件,這套頭文件的文件名后不加.h擴展名,如iostream、string等等,并且把原來C標準庫的頭文件也重新命名,如原來的string.h就改成cstring(就是把.h去掉,前面加上字母c),所以頭文件包含的寫法也就變成了#include 。
并不是寫了#include就必須用using namespace std;我們通常這樣的寫的原因是為了一下子把std名字空間的東西全部暴露到全局域中(就像是直接包含了iostream.h這種沒有名字空間的頭文件一樣),使標準C++庫用起來與傳統的iostream.h一樣方便。如果不用using namespace std;使用標準庫時就得時時帶上名字空間的全名,如std::cout << “hello” << std::endl;
2、#include "iostream" 與 #include < iostream>區別
前者先在當前目錄找iostream文件,找不到再去系統頭文件路徑找,后者反之。因此,做為一個良好的習慣,在包含系統頭文件時盡量用<>,而在包含自己的工程中的頭文件時用""。
3、< iostream>與< iostream.h>區別
前者沒有后綴,實際上,在編譯器include文件夾里面可以看到,二者是兩個文件,打開文件就會發現,里面的代碼是不一樣的。
后綴為.h的頭文件c++標準已經明確提出不支持了,早些的實現 將標準庫功能定義在全局空間里,聲明在帶.h后綴的頭文件里;
c++標準為了和C區別開,也為了正確使用命名空間,規定頭文件不使用后綴.h。
因此,當使用<iostream.h>時,相當于在c中調用庫函數,使用的是全局命名空間,也就是早期的c++實現;當使用< iostream>的時候,該頭文件沒有定義全局命名空間,必須使用namespace std;這樣才能正確使用cout。
#include <iostream.h>
using namespace std; // 則出錯
所以,要么寫成
#include <iostream >
using namespace std;
要么寫成
#include <iostream.h>
當然最好是前種。
總結
以上是生活随笔為你收集整理的C++【“using namespace std”的意思、#include “iostream“与#include < iostream>区别、< iostream>与< iostream.h>区别】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++阶段01笔记汇总【C++软件安装、
- 下一篇: ArcGis【基本使用】