• <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)

            国产日韩久久久精品影院首页| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 91精品国产综合久久婷婷| 久久综合九色综合久99 | 日韩精品久久无码人妻中文字幕| 久久国产精品成人免费 | 久久精品综合网| 日本一区精品久久久久影院| 国产精品99久久久精品无码| 亚洲国产精品久久久久网站| 国内精品人妻无码久久久影院导航 | 国产精品99精品久久免费| 久久久久免费视频| 成人综合伊人五月婷久久| 久久久无码精品亚洲日韩京东传媒 | A狠狠久久蜜臀婷色中文网| 久久亚洲AV成人无码软件| 99久久国产主播综合精品| 亚洲精品无码久久久久久| 欧美性猛交xxxx免费看久久久| 97久久天天综合色天天综合色hd| 午夜福利91久久福利| 国产三级精品久久| 91久久成人免费| 九九久久99综合一区二区| 中文精品久久久久国产网址| 国内精品欧美久久精品| 久久久无码一区二区三区| 思思久久好好热精品国产| 国产免费久久精品99久久| 九九久久99综合一区二区| 97久久综合精品久久久综合| 国产∨亚洲V天堂无码久久久| 久久国产色AV免费看| 狠狠色丁香久久婷婷综合五月| 久久国产精品一国产精品金尊| 久久国产欧美日韩精品| 2021少妇久久久久久久久久| 久久99国产精品一区二区| 99精品久久久久久久婷婷| 久久精品国产精品亜洲毛片|