• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            山寨:不是最好的,是最適合我們的!歡迎體驗(yàn)山寨 中文版MSDN

            Blog @ Blog

            當(dāng)華美的葉片落盡,生命的脈絡(luò)才歷歷可見。 -- 聶魯達(dá)

            常用鏈接

            統(tǒng)計(jì)

            積分與排名

            BBS

            Blog

            Web

            最新評(píng)論

            using namespace std 的用法

            寫在前面:
                    早上學(xué)習(xí)STL,因?yàn)闆]有加入代碼using namespace std 導(dǎo)致錯(cuò)誤,發(fā)現(xiàn)對(duì)using namespace std 的用法不是很清楚,找了資料補(bǔ)課。
            using namespace std 的用法

            摘自

            using namespace std;用的并不少!    
            ---------------------------------------------------------------  

            實(shí)際上就是告訴編譯器,你類型是什么,在哪能找到。  

            常用的是using  namespace  std,就是說用C++的標(biāo)準(zhǔn)名字空間。  

            你也可以引用你自己的名字空間。比如說:  

            import  "C:\\MyTest\\test.tlb"  
            using  namespace  CMyTest  

            就可以引用CMyTest內(nèi)的各個(gè)類型名  

            看C++  prime  
            ---------------------------------------------------------------  

            聲明該文件使用C++標(biāo)準(zhǔn)庫吧!  
            比如  
            #include  <iostream>  
            using  namespace  std;  
            void  main()  
            {  
               cout  <<  "hello!"  <<  endl;  
            }  

            如果不用using  namespace  std;這句,那么  
            std::cout  <<  "hello!"  <<endl;  
            這是名字空間的問題!具體參看有關(guān)書籍吧,新版的C++  書應(yīng)該都有介紹的!  

            ---------------------------------------------------------------  

            using  指示符!  
            這是個(gè)名字空間問題,是標(biāo)準(zhǔn)C++引入的新概念!  
            具體在《C++Primer》第8.6節(jié)有詳細(xì)說明!  
            ---------------------------------------------------------------  

            因?yàn)闃?biāo)準(zhǔn)庫非常的龐大,所程序員在選擇的類的名稱或函數(shù)名時(shí)就很有可能和標(biāo)準(zhǔn)庫中的某個(gè)名字相同。所以為了避免這種情況所造成的名字沖突,就把標(biāo)準(zhǔn)庫中的一切都被放在名字空間std中。但這又會(huì)帶來了一個(gè)新問題。無數(shù)原有的C++代碼都依賴于使用了多年的偽標(biāo)準(zhǔn)庫中的功能,他們都是在全局空間下的。  

                   所以就有了<iostream.h>和<iostream>等等這樣的頭文件,一個(gè)是為了兼容以前的C++代碼,一個(gè)是為了支持新的標(biāo)準(zhǔn)。  
            ---------------------------------------------------------------  

            名字空間,實(shí)質(zhì)上也是為了方便程序在不同平臺(tái)上正確的運(yùn)行。  
            ---------------------------------------------------------------  

            namespace是為了解決C++中的名字沖突而引入的。  
            什么是名字沖突呢?比如,在文件x.h中有個(gè)類MyClass,  
            在文件y.h中也有個(gè)類MyClass,而在文件z.cpp中要同時(shí)  
            引用x.h和y.h文件。顯然,按通常的方法是行不能的,  
            那怎么辦呢?引入namespace即可。例如:  
                   在x.h中的內(nèi)容為  
            //  x.h  
            namespace  MyNamespace1  
            {  
               class  MyClass  
               {  
               public:  
                   void  f();  
               private:  
                   int  m;  
               }  
            };  

                   在y.h中的內(nèi)容為  
            //  y.h  
            namespace  MyNamespace2  
            {  
               class  MyClass  
               {  
               public:  
                   void  f();  
               private:  
                   int  m;  
               }  
            };  

               然后在z.cpp中引入x.h和y.h  
            //  z.cpp  
            #include  "x.h"    
            #include  "y.h"    

            void  z::f()  
            {  
               //聲明一個(gè)文件x.h中類MyClass的實(shí)例x  
               MyNamespace1::MyClass  x;  
                 //聲明一個(gè)文件x.h中類MyClass的實(shí)例x  
               MyNamespace2::MyClass  y;  

               //調(diào)用文件x.h中的函數(shù)f  
               x.f();  
               //調(diào)用文件y.h中的函數(shù)f  
               y.f();  
            }  
                   名字空間實(shí)質(zhì)上是一個(gè)作用域。  
                   通過上面的一個(gè)實(shí)例應(yīng)該知道名字空間的作用了吧

            posted on 2008-09-28 10:48 isabc 閱讀(14978) 評(píng)論(2)  編輯 收藏 引用

            評(píng)論

            # re: using namespace std 的用法 2009-06-11 09:13 vavava

            哥們兒,命名空間后邊的大括號(hào)(括回)后邊沒有那個(gè)分號(hào),primer上邊寫的。
              回復(fù)  更多評(píng)論   

            # re: using namespace std 的用法 2014-03-04 15:17 joker

            如果不用using namespace std;這句,那么
            std::cout << "hello!" <<endl;
            應(yīng)該是
            std::cout << "hello!" <<std::endl; 吧?  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            廣告信息(免費(fèi)廣告聯(lián)系)

            中文版MSDN:
            歡迎體驗(yàn)

            91久久精品国产成人久久| 99精品久久精品一区二区| 精品国产福利久久久| 久久国产精品免费一区二区三区 | 成人国内精品久久久久影院VR| 国产精品欧美亚洲韩国日本久久| 亚洲日韩欧美一区久久久久我 | 精品久久久久一区二区三区 | 伊人 久久 精品| 国产69精品久久久久777| 日韩影院久久| 夜夜亚洲天天久久| 日韩精品无码久久久久久| 久久综合日本熟妇| 一级做a爰片久久毛片16| 久久久噜噜噜www成人网| 青青久久精品国产免费看| 久久福利青草精品资源站免费| 久久人妻无码中文字幕| 午夜精品久久久久成人| 久久99国产精品久久久| 久久精品夜夜夜夜夜久久| 欧美日韩精品久久久免费观看| 狠狠精品干练久久久无码中文字幕| 综合人妻久久一区二区精品| 色婷婷噜噜久久国产精品12p| 99久久精品国产一区二区| 色综合久久最新中文字幕| 国产精品99久久免费观看| 久久婷婷五月综合97色| 亚洲欧美成人综合久久久| 亚洲中文字幕无码久久2020| 麻豆av久久av盛宴av| 欧美伊人久久大香线蕉综合| 久久强奷乱码老熟女网站| 一本色道久久88—综合亚洲精品| 久久精品视频一| 亚洲AV乱码久久精品蜜桃| 久久ww精品w免费人成| 麻豆一区二区99久久久久| 国产精品一久久香蕉国产线看观看 |