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

            唐吉訶德

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              5 Posts :: 75 Stories :: 3 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(2)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

            用例子給你示范
            // 1.cpp
            int x = 10;
            // 2.cpp 注意沒有包含1.cpp
            #include <iostream>
            using namespace std;
            extern int x;
            int main ()
            { cout << x << endl; }
            //則輸出10
            兩個(gè)文件同在一個(gè)項(xiàng)目(project)中,你不包含某個(gè)文件(cpp)而可以用它內(nèi)部定義的變量,(這里是.cpp不是.h, 因?yàn)樵?h中定義的數(shù)據(jù)不能在.cpp中用除非這個(gè).cpp包含這個(gè).h文件)

            例:
            // 1.h
            #include <iostream>
            void print()
            {
            std::cout << "hello!" << std::endl;
            }
            // 2.cpp
            #include <iostream>
            using namespace std;
            // 以上兩句在這個(gè)例子中可以不要
            extern void print();
            int main ()
            {
            print();
            }
            就會(huì)出錯(cuò)因?yàn)?.h中的void print();在不包含它的文件中是不可調(diào)用的,即使在聲明了extern 也于事無補(bǔ),如果你將這個(gè)例子中的1.h名字換成1.cpp就對了!
            從這些可以看出來,extern在這里起的作用是告訴編譯器,你這個(gè)print()已經(jīng)在某個(gè).cpp中已經(jīng)定義了,這里只不過是聲明一下有這個(gè)東西,然后拿來用一下。定義只能出現(xiàn)一次,聲明卻可出現(xiàn)多次,也就是說extern聲明可在多個(gè)文件中用(包括.h)
            還有,你還可以屏蔽extern聲明,如第二個(gè)例子中的第二個(gè).cpp文件可以改成
            #include <iostream>
            using namespace std;
            // 這里以上兩句不能省略,因?yàn)椋@里extern void print();函數(shù)已經(jīng)不起作用了,在這里調(diào)用的而是本文件中定義的void print()函數(shù),其中用到了cout,endl;他們來源于std::<iostream>
            extern void print();
            void print()
            {
            cout << "world!" << endl;
            }

            int main ()
            {
            print();
            }
            // 輸出結(jié)果為world!
            還有一個(gè)extern "C"就不用說了,用這個(gè)可以允許C++程序中調(diào)用C的函數(shù)!
            posted on 2010-08-23 10:17 心羽 閱讀(471) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            久久AⅤ人妻少妇嫩草影院| 久久精品国产精品国产精品污| 久久精品国产亚洲7777| 色偷偷91久久综合噜噜噜噜| 久久天天躁夜夜躁狠狠躁2022| 婷婷综合久久中文字幕蜜桃三电影| 91久久精品91久久性色| 97香蕉久久夜色精品国产| 久久婷婷五月综合色奶水99啪| 久久久久免费视频| 久久综合九色综合97_久久久| 一级做a爰片久久毛片看看| 欧美激情精品久久久久| 久久综合久久美利坚合众国| 国产精品一久久香蕉产线看| 噜噜噜色噜噜噜久久| 99热成人精品免费久久| 国产精品美女久久久m| 亚洲午夜无码AV毛片久久| 久久久久亚洲AV成人网人人软件| 亚洲国产精品成人久久| 中文字幕久久精品| 久久精品国产99久久香蕉| 欧美日韩中文字幕久久伊人| 国产精品久久久久久久久鸭| 婷婷伊人久久大香线蕉AV| 99久久精品免费看国产一区二区三区| 久久久久国色AV免费观看| 国产精品免费久久久久久久久| 精品久久无码中文字幕| 国产精品久久久久9999高清| 久久午夜伦鲁片免费无码| 久久中文骚妇内射| 丰满少妇高潮惨叫久久久| 国内精品久久久人妻中文字幕| 无码伊人66久久大杳蕉网站谷歌 | 久久亚洲欧美日本精品| 国产午夜久久影院| 久久精品国产亚洲欧美| 91麻豆精品国产91久久久久久| 97超级碰碰碰碰久久久久|