天天看點

C++ 标準庫函數加不加std::?使用說明

引例:

#include<iostream>
int main()
{
    std::cout<<"我喜歡C++";//輸出一句話
    std::cout<<std::endl;//換行
    return 0;
}
           

1.std是什麼?

        std::    是個名稱空間标示符,C++标準庫中的函數或者對象都是在命名空間std中定義的,是以我們要使用标準函數庫中的函數或對象都要使用std來限定。

         對象count是标準函數庫所提供的對象,而标準庫在名字空間中被指定為std,是以在使用cout的時候要加上std::。這樣編譯器就會明白我們調用的cout是名字空間std中的cout。

2.為什麼将cout放到名字空間std中?

        是因為像cout這樣的對象在實際操作中或許會有好幾個,比如說你自己也可能會不小心定義了一個對象叫cout,那麼這兩個cout對象就會産生沖突。

3.std都是什麼時候使用?    

        一般來說,std都是要調用C++标準庫時,要寫上std;

        使用非标準庫檔案iostream.h,不用寫。

比如上面引例這樣改寫就不需要std:

#include<iostream.h>
int main()
{
    cout<<"我喜歡C++";//輸出一句話
    cout<<endl;//換行
    return 0;
}
           

當然還有一種方法:

在main函數的上面使用了兩行語句:

#include<iostream>
using std::cout;
using std::endl;
int main()
{
    cout<<"我喜歡C++";//輸出一句話
    cout<<endl;//換行
    return 0;
}
           

其實還有種更簡便的方法,就是直接使用using namespace std來代替using std::cout和using std::endl。

using namespace std 告訴編輯器我們将要使用空間std中的函數或者對象。

是以cout和endl前面不用注明它們是std這個名字空間中的cout和endl。

#include<iostream>
using namespace std;
int main()
{
    cout<<"我喜歡C++";//輸出一句話
    cout<<endl;//換行
    return 0;
}
           

繼續閱讀