C++之std命名空間
C++ std命名空間
在 C++ 中 std 命名空間 是 C++ 中標(biāo)準(zhǔn)庫類型對(duì)象的命名空間。
我們常用的輸入和輸出 函數(shù) 都是定義在 std 命名空間中的,因此,我們需要使用輸入和輸出,必須要引入 std 命名空間。
要引用一個(gè)命名空間中的內(nèi)容,有三種方法,分別為使用 using 引入命名空間、使用 using 限定符和直接使用命名空間限制訪問。
using引入命名空間
語法
using namespace std;// cout
說明
我們直接使用 using 完全引入了 std 命名空間,接下來,我們就可以直接使用 std 命名空間中的所有內(nèi)容了。
使用using限定符
語法
using std::cout;using std::cin;// cout// cin
說明
這里,我們僅僅使用了 using 引入了 std 命名空間中的 cout 和 cin ,因此,我們接下來在使用 cout 和 cin 時(shí),不再需要使用命名空間了。
顯式引用
語法
//std::cout//std::cin
說明
我們直接使用 std:: 的形式,顯式的指定我們使用的 cout 是 std 命名空間的,使用的 cin 也是 std 命名空間的。
C++ std命名空間詳解
我們使用的輸入輸出函數(shù)都是定義在 std 命名空間中的,我們可以在 dev-c++ 開發(fā)環(huán)境中,打開 iostream 頭文件,接著,我們可以看到 std 命名空間,
如下:

我們可以看到,這里使用了 namespace 定義了 std 命名空間,接著,往下看,我們可以看到,如下代碼:

從這里,我們可以看出,cin、cout、cerr 和 clog 都是定義在 std 命名空間中的。
案例
C++ using引入命名空間
使用 using 完全引入了 std 命名空間
#include <iostream>
using namespace std;
int main()
{
cout << "嗨客網(wǎng)(www.haicoder.net)\n" << endl;
cout << "haicoder" << endl;
cerr << "Hello HaiCoder" << endl;
return 0;
}程序運(yùn)行后,控制臺(tái)輸出如下:

我們直接使用了 using 引入了整個(gè) std 命名空間,接下里,我們就可以直接使用 std 命名空間中的所有內(nèi)容了。
使用using限定符
使用 using 限定符,引入 std 命名空間指定內(nèi)容
#include <iostream>
using std::cout;
int main()
{
std::cout << "嗨客網(wǎng)(www.haicoder.net)\n" << std::endl;
cout << "haicoder" << std::endl;
std::cerr << "Hello HaiCoder" << std::endl;
std::clog << "Hello C++" << std::endl;
return 0;
}程序運(yùn)行后,控制臺(tái)輸出如下:

我們使用了 using 僅僅引入了 cout,因此,接下來,我們使用 cout 時(shí),不需要再指定命名空間了,但使用 cerr 和 clog 時(shí),必須顯式指定命名空間,不然會(huì)報(bào)錯(cuò)。
使用命名空間限制訪問
直接使用命名空間,限制訪問
#include <iostream>
int main()
{
std::cout << "嗨客網(wǎng)(www.haicoder.net)\n" << std::endl;
std::cout << "haicoder" << std::endl;
std::cerr << "Hello HaiCoder" << std::endl;
std::clog << "Hello C++" << std::endl;
return 0;
}程序運(yùn)行后,控制臺(tái)輸出如下:

這次,我們沒有使用任何的 using 引入命名空間,而是直接使用了命名空間限制說明了我們?cè)L問的命名空間的內(nèi)容。
C++ std命名空間教程
在 C++ 中 std 命名空間是 C++ 中標(biāo)準(zhǔn)庫類型對(duì)象的命名空間。
我們常用的輸入和輸出函數(shù)都是定義在 std 命名空間中的,因此,我們需要使用輸入和輸出,必須要引入 std 命名空間。
要引用一個(gè)命名空間中的內(nèi)容,有三種方法,分別為使用 using 引入命名空間、使用 using 限定符和直接使用命名空間限制訪問。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于C++的農(nóng)夫過河問題算法設(shè)計(jì)與實(shí)現(xiàn)方法
這篇文章主要介紹了基于C++的農(nóng)夫過河問題算法設(shè)計(jì)與實(shí)現(xiàn)方法,簡單描述了農(nóng)夫過河問題,并結(jié)合實(shí)例形式詳細(xì)分析了基于C++實(shí)現(xiàn)農(nóng)夫過河問題的相關(guān)算法實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2017-09-09
淺談C++的語句語法與強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了淺談C++的語句語法與強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
詳解C++?functional庫中的仿函數(shù)使用方法
仿函數(shù)(functor)又稱之為函數(shù)對(duì)象(function?object),實(shí)際上就是?重載了()操作符?的?struct或class。本文將詳細(xì)講解C++中仿函數(shù)的使用方法,需要的可以參考一下2022-04-04
C++避免棧內(nèi)存溢出的幾種實(shí)現(xiàn)方法
在C++編程中,一個(gè)線程的棧內(nèi)存通常是有限的,本文就來詳細(xì)介紹幾種避免棧溢出的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-09-09

