為什麼要加std:: |
答題得分者是:zcecil
|
sigmaccc
一般會員 發表:32 回覆:40 積分:14 註冊:2003-11-13 發送簡訊給我 |
|
zcecil
初階會員 發表:0 回覆:28 積分:45 註冊:2003-06-27 發送簡訊給我 |
std 不是類別, 它是 namespace
namespace 主要的功用是避免命名衝突. 譬如我的程式裡可能有一個 print(), 用了別人開發的library裡也有print() 就會有衝突. 以往C的做法是用不容易重覆的方式命名, 譬如 MyPrint(), XXLibPrint(). 在 C++ 裡, 可以把這些東西包在不同的namespace. 譬如
namespace my
{
print();
} namespace XXLib
{
print();
} 這時候就可以用 my::print() 和 XXLib::print 來做絕對的區分.
那如果我的程式會大量用到 XXLib 裡的東西呢? 都要加 XXLib:: 不是很麻煩嗎? 這時候只要加一行 using namespace XXLib; 就表示說, 當我寫 print() 的時候, 就會去 XXLib 裡找.
引言: 我該如何查詢才能得知cout是std namespace裡面的東西?當你 #include 一個header file的時候, 裡面就可以看到了. 譬如 cout 是在 引言: 3.按照這樣的觀念printf()前面是不是也應該要加std::printf(); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |