• <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++分析研究  
            C++
            日歷
            <2014年1月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678
            統計
            • 隨筆 - 92
            • 文章 - 4
            • 評論 - 4
            • 引用 - 0

            導航

            常用鏈接

            留言簿

            隨筆檔案

            文章檔案

            搜索

            •  

            最新評論

            閱讀排行榜

            評論排行榜

             
              一、聲明(declaration):用于向程序表明變量的類型和名字,是用來將一個object、function、class或template的類型和名字告訴編譯器。由2部分組成:類型 + 標示符,標示符可以包含字符*、[ ]和(),表明這個名稱是類型的指針、數組或者返回類型的函數職稱英語代考 職稱英語答案

              聲明并不帶有細節信息;

              定義也是一種聲明;

              extern關鍵字可用來聲明變量而不定義,只是說明變量定義在程序的其他地方;

              變量可以聲明多次,但只能定義一次

              例子:

              char *pc; // 類型是pc,標示符是*pc,表明*pc是一個char.

              extern float x;  // 對象聲明

              int func(double num); //函數聲明

              class Person; //類聲明

              template<class T>

              class SmartPointer; //模板聲明雅思答案 雅思代考

              解讀復雜聲明的一種方法,遵循"聲明模仿使用"的原則逐步分解聲明。

              例如:char * (*pfpc)();

              * (*pfpc)(); // 是一個char

              (*pfpc)();    // 是一個指向char的指針

              (*pfpc);       // 是一個返回char類型指針的函數

              pfpc;           // 是一個指向返回char類型指針的函數的指針

              二、定義(definition):是用來將細節信息提供給編譯器。

              對于object而言,定義是編譯器為它分配內存空間托福代考 托福答案

              對于function或funciton template而言,定義是提供函數體;

              對于class或class template而言,定義是列出該class或template的所有成員;

              例子:

              float x; //對象定義

              //函數定義

              int func(double num) {

              int t = static_cast<int>(num);

              return t;

              }

              //類定義

              class Person {

              public:

              Person();

              ~Person();

              String getName() const;

              void setName(String name);

              …

              };

              //模板定義

              template<class T>

              class SmartPointer {

              public:

              SmartPointer(T *p = 0);

              ~SmartPointer();

              T * operator->() const;

              T& operator*() const;

              …

              };

              備注:如果聲明中有初始化,那么它其實是定義。

              例如: externdouble pi = 0;

              此時pi是定義,所以如果這樣用的話會出錯:

              extern double pi = 0;

              extern double pi = 1; // 2個extern且初始化

            posted on 2013-03-08 21:35 HAOSOLA 閱讀(550) 評論(0)  編輯 收藏 引用
             
            Copyright © HAOSOLA Powered by: 博客園 模板提供:滬江博客
            PK10開獎 PK10開獎
            久久青青草原精品国产不卡| 久久天天日天天操综合伊人av| 免费精品久久天干天干| 香蕉99久久国产综合精品宅男自 | 色老头网站久久网| 亚洲精品蜜桃久久久久久| 国产精品一区二区久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产精品美女久久久m| 久久成人精品| 国产精品无码久久久久久| 久久精品成人欧美大片| 无码人妻精品一区二区三区久久| 久久国产亚洲精品麻豆| 欧美亚洲国产精品久久| 国产精品成人99久久久久91gav| 久久久一本精品99久久精品88| 久久综合综合久久97色| 一本一本久久a久久综合精品蜜桃| 色综合久久88色综合天天| 亚洲精品无码久久一线| 久久笫一福利免费导航 | 久久天天躁狠狠躁夜夜网站| 久久国产免费直播| 91精品国产91久久| 国产精品毛片久久久久久久| 午夜人妻久久久久久久久| 中文字幕无码av激情不卡久久| 国产成人精品综合久久久| 精品久久久无码人妻中文字幕豆芽| 免费无码国产欧美久久18| 日韩十八禁一区二区久久| 久久久久久夜精品精品免费啦| 无码国内精品久久综合88| 久久精品一区二区三区中文字幕| 久久国产精品久久| 日韩亚洲欧美久久久www综合网| 精品久久久久久国产潘金莲| 亚洲午夜久久久影院伊人| 亚洲精品白浆高清久久久久久| 亚洲精品美女久久久久99|