std空間聲明的具體地方 和 標準C++有時間函數嗎?

今天剛系統地看了一下using指示符,算是清楚的理解了using namespace std;,但是突然有一個想法,std到底是在哪聲明的呢?我以爲STL中應該有個文件叫std,專門聲明瞭標準C++支持的所有內容,但沒有找到,最後,在STL的文件中,我找到了std的聲明,不過它們都被#define了,比如在SGI stl v3.3中,我隨便找了一個stl_list.h,第36行的“__STL_BEGIN_NAMESPACE”對應第879行的“__STL_END_NAMESPACE”,他們在stl_config.h文件中被定義爲:
#   define __STL_BEGIN_NAMESPACE namespace std {
#   define __STL_END_NAMESPACE }
我看了其他幾個STL庫,有的用#define處理了(VC中的),有的沒有(bcc5.5),我覺得這樣不如namespace std來得直接,難道這樣做是爲了將來方便統一更改?

標準C++有時間函數嗎,我知道VC和BCC5.5中都提供了“time.h”,但標準C++中沒有對時間函數的規定吧。有時間,可以看看boost的代碼,據說不錯。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章