版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/sinat_32502811/article/details/50755991
關于命名空間
在寫我的第一個C++程式,簡單的符号輸出,第一次寫的程式如下:
```C++
include <iostream>
int main(){
int tries = 0;
cout << "Are you ready for try #"
<< ++tries << "?\n";
return 0;
}
編譯結果出現了錯誤:
9 2 E:\計算機公開課學習\C++\example\main.cpp [Error] ‘cout’ was not declared in this scope
他說沒有聲明,我一直以為是
include
出現了問題,但是整個程式裡隻涉及
int
型變量,既不涉及布爾,也不涉及
string
型,是以隻
include <iostream>
就夠了。是以問題不出在這。後來翻閱《Essential C++》 的第一章 ,看到了需要包含命名空間,加上
using namespace std;
這一條語句之後,程式可以正确執行了。
關于命名空間,有如下的幾點解釋:
1 .和
using
都是C++中的關鍵字。
namespace
是标準庫所駐之命名空間的名稱,标準庫所提供的任何事物(諸如
std
以及
string class
cin
cout
這兩個 iostream 類對象)都被封裝在std 中 。
2 . 命名空間是一種将庫封裝起來的方法,避免和應用程式發生命名沖突的問題。
3 . *若要在程式中使用
string class
、
cin
這兩個
cout
類對象,我們不僅需要包含
iostream
<string>
頭檔案,還得讓命名空間曝光,即使用
<iostream>
語句。*
using namespace std;