線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:956
推到 Plurk!
推到 Facebook!

為什麼要加std::

答題得分者是:zcecil
sigmaccc
一般會員


發表:32
回覆:40
積分:14
註冊:2003-11-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-21 09:13:35 IP:220.130.xxx.xxx 未訂閱
大家好:     小弟從C剛學C++,有些觀念一直搞不清楚。麻煩前輩們指導
zcecil
初階會員


發表:0
回覆:28
積分:45
註冊:2003-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-21 10:00:21 IP:220.130.xxx.xxx 未訂閱
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 是在 裡, 去找到這個檔, 會看到 namespace std { } 就可以知道 cout 是在 std 這個 namespace裡.
引言: 3.按照這樣的觀念printf()前面是不是也應該要加std::printf();
printf 是 C 的標準函式, 不是 C 的, 因此也不需要使用 namespace.
系統時間:2024-06-24 21:06:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!