青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 29, comments - 16, trackbacks - 0, articles - 0
   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
一 static 產生背景

引出原因:函數內部定義的變量,在程序執行到它的定義處時,編譯器為它在棧上分配空間,大家知道,函數

在棧上分配的空間在此函數執行結束時會釋放掉,這樣就產生了一個問題: 如果想將函數中此變量的值保存至

下一次調用時,如何實現?

最容易想到的方法是定義一個全局的變量,但定義為一個全局變量有許多缺點,最明顯的缺點是破壞了此變量

的訪問范圍(使得在此函數中定義的變量,不僅僅受此函數控制)。

       類的靜態成員也是這個道理。


解決方案:因此C++ 中引入了static,用它來修飾變量,它能夠指示編譯

器將此變量在程序的靜態存儲區分配空間保存,這樣即實現了目的,又使得此變量的存取范圍不變。


2) 具體作用

Static作用分析總結:static總是使得變量或對象的存儲形式變成靜態存儲,連接方式變成內部連接,對于局

部變量(已經是內部連接了),它僅改變其存儲方式;對于全局變量(已經是靜態存儲了),它僅改變其連接

類型。(1 連接方式:成為內部連接;2 存儲形式:存放在靜態全局存儲區)
二 const 產生背景

a) C++有一個類型嚴格的編譯系統,這使得C++程序的錯誤在編譯階段即可發現許多,從而使得出錯率大為減少

,因此,也成為了C++與C相比,有著突出優點的一個方面。

b) C中很常見的預處理指令 #define VariableName VariableValue 可以很方便地進行值替代,這種值替代至

少在三個方面優點突出:

一是避免了意義模糊的數字出現,使得程序語義流暢清晰,如下例:

  #define USER_NUM_MAX 107 這樣就避免了直接使用107帶來的困惑。

二是可以很方便地進行參數的調整與修改,如上例,當人數由107變為201時,改動此處即可;

三是提高了程序的執行效率,由于使用了預編譯器進行值替代,并不需要為這些常量分配存儲空間,所以執行

的效率較高。

然而,預處理語句雖然有以上的許多優點,但它有個比較致命的缺點,即,預處理語
句僅僅只是簡單值替代,缺乏類型的檢測機制。這樣預處理語句就不能享受C++嚴
格類型檢查的好處,從而可能成為引發一系列錯誤的隱患。


Const 推出的初始目的,正是為了取代預編譯指令,消除它的缺點,同時

繼承它的優點。

現在它的形式變成了:

Const DataType VariableName = VariableValue ;

2) 具體作用

1.const 用于指針的兩種情況分析:

 
int const *A;  //A可變,*A不可變

 
int *const A;  //A不可變,*A可變

 分析:const 是一個左結合的類型修飾符,它與其左側的類型修飾符和為一個

類型修飾符,所以,int const 限定 *A,不限定A。int *const 限定A,不限定*A。


2.const 限定函數的傳遞值參數:

 
void Fun(const int Var);
     分析:上述寫法限定參數在函數體中不可被改變。


3.const 限定函數的值型返回值:

const int Fun1();
const MyClass Fun2();
     分析:上述寫法限定函數的返回值不可被更新,當函數返回內部的類型時(如Fun1),已經是一個數值,

當然不可被賦值更新,所以,此時const無意義,最好去掉,以免困惑。當函數返回自定義的類型時(如Fun2)

,這個類型仍然包含可以被賦值的變量成員,所以,此時有意義。


4. 傳遞與返回地址: 此種情況最為常見,由地址變量的特點可知,適當使用const,意義昭然。


5. const 限定類的成員函數:

class ClassName {
 public:
  int Fun() const;
 .....
}
  注意:采用此種const 后置的形式是一種規定,亦為了不引起混淆。在此函數的聲明中和定義中均要使用

const,因為const已經成為類型信息的一部分。

獲得能力:可以操作常量對象。

失去能力:不能修改類的數據成員,不能在函數中調用其他不是const的函數。

三 inline 產生背景

inline這個關鍵字的引入原因和const十分相似,inline 關鍵字用來定義一個類的內聯函數,引入它的主要原

因是用它替代C中

表達式形式的宏定義。

表達式形式的宏定義一例:

   #define ExpressionName(Var1,Var2) (Var1+Var2)*(Var1-Var2)
       這種表達式形式宏形式與作用跟函數類似,但它使用預編譯器,沒有堆棧,使用上比函數高效。但它只

是預編譯器上符號表的簡單替換,不能進行參數有效性檢測及使用C++類的成員訪問控制。

inline 推出的目的,也正是為了取代這種表達式形式的宏定義,它消除了它的缺點,同時又很好地繼承了它的

優點。inline代碼放入預編譯器符號表中,高效;它是個真正的函數,調用時有嚴格的參數檢測;它也可作為

類的成員函數。


2) 具體作用

直接在class類定義中定義各函數成員,系統將他們作為內聯函數處理; 成員函數是內聯函數,意味著:每個

對象都有該函數一份獨立的拷貝。
在類外,如果使用關鍵字inline定義函數成員,則系統也會作為內聯函數處理;

C關鍵字
#define 宏名
要替換的代碼

宏定義,保存在預編譯器的符號表中,執行高效;作為一種簡單的符號替換,不進行其中參數有效性的檢測


typedef
已有類型
新類型

別名,
常用于創建平臺無關類型, typedef 在編譯時被解釋,因此讓編譯器來應付超越預處理器能力的文本替換。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲精品永久免费精品| 亚洲欧洲三级电影| 国产精品乱码妇女bbbb| 欧美**字幕| 久久只精品国产| 可以免费看不卡的av网站| 久久久精彩视频| 久久人人97超碰精品888| 久久久91精品国产一区二区精品| 香蕉久久夜色精品国产| 久久精品亚洲一区二区| 久久综合狠狠| 欧美黄色免费网站| 国产精品成人aaaaa网站| 欧美亚一区二区| 国产日韩欧美自拍| 亚洲国产欧美另类丝袜| 夜夜嗨av一区二区三区网站四季av| 日韩一区二区精品视频| 中文一区二区在线观看| 午夜国产精品视频| 久久久亚洲综合| 欧美成在线观看| 亚洲精品久久久久| 中文国产成人精品久久一| 亚洲伊人伊色伊影伊综合网| 欧美伊久线香蕉线新在线| 久久久久久久久久久久久9999| 欧美中在线观看| 欧美成人精品在线视频| 国产精品福利影院| 亚洲高清在线精品| 亚洲一区高清| 亚洲国产一区在线| 亚洲一品av免费观看| 欧美高清视频免费观看| 国产女主播一区| 日韩一级裸体免费视频| 久久精品国产亚洲aⅴ| 亚洲精品影院在线观看| 久久精品五月| 国产精品视频免费观看www| 亚洲国产精品v| 欧美一区二视频| 亚洲麻豆国产自偷在线| 久久夜色精品国产亚洲aⅴ| 国产精品美女久久久免费| 91久久久精品| 久久精品在线视频| 蜜臀久久久99精品久久久久久| 午夜精品久久久久久久男人的天堂| 亚洲欧美日韩精品久久久久| 亚洲高清久久| 久久久久久久久久码影片| 国产精品美女www爽爽爽| 一本色道久久综合亚洲精品婷婷| 欧美成人精品在线播放| 香蕉久久夜色精品国产| 欧美性理论片在线观看片免费| 亚洲精品视频在线观看网站| 欧美sm极限捆绑bd| 欧美日韩精品一区二区在线播放 | 欧美国产激情二区三区| 欧美影视一区| 国产一区在线播放| 欧美在线观看一区二区| 亚洲欧美中日韩| 国产精品中文在线| 午夜日韩电影| 亚洲欧美中日韩| 国产日韩欧美精品| 一本一道久久综合狠狠老精东影业| 久久精品中文字幕一区二区三区| 亚洲一区二区三| 欧美日韩一区二区在线播放| 99热在线精品观看| 亚洲三级免费电影| 欧美日韩亚洲一区二| 亚洲午夜激情网页| 亚洲亚洲精品在线观看| 欧美视频1区| 日韩一区二区电影网| 一区二区三区欧美成人| 国产精品视频一区二区三区| 欧美专区第一页| 久久久久久久久久久一区 | 国产欧美精品| 噜噜噜91成人网| 蜜桃伊人久久| 99精品国产在热久久| 国产精品99久久久久久有的能看| 欧美系列一区| 久久亚洲私人国产精品va| 欧美在线影院在线视频| 在线观看日韩av电影| 91久久亚洲| 国产日韩视频| 最新国产乱人伦偷精品免费网站| 欧美天天在线| 美女尤物久久精品| 欧美日韩第一区| 久久久久在线观看| 欧美日韩视频在线第一区| 久久精品在线| 欧美视频不卡中文| 亚洲小说春色综合另类电影| 日韩一区二区高清| 国产一区二区高清视频| 最新国产乱人伦偷精品免费网站| 国产精品一区二区黑丝| 亚洲第一精品夜夜躁人人爽| 国产久一道中文一区| 亚洲精品少妇30p| 国内视频精品| 亚洲自拍另类| 日韩亚洲在线| 久久国产精品亚洲va麻豆| 亚洲欧洲在线一区| 欧美一区在线视频| 亚洲性线免费观看视频成熟| 老司机一区二区| 久久99在线观看| 欧美日韩精品在线视频| 欧美xart系列高清| 国产欧美一区二区在线观看| 亚洲精品中文字幕有码专区| 亚洲国产一区二区三区在线播| 99视频有精品| 蜜臀a∨国产成人精品| 久久久久久久999精品视频| 国产精品乱人伦一区二区| 欧美高清视频一区二区| 国产精品夜夜夜一区二区三区尤| 亚洲美女视频| 一区二区三区日韩| 欧美日韩精品一区二区| 日韩视频一区二区在线观看| 99在线精品免费视频九九视| 欧美成人第一页| 亚洲精品国产拍免费91在线| 亚洲国产日韩一区| 欧美成va人片在线观看| 欧美风情在线| 亚洲精品国产欧美| 欧美好骚综合网| 亚洲国产一区二区三区高清| 亚洲日本乱码在线观看| 六月天综合网| 亚洲黑丝一区二区| 日韩一级网站| 欧美精品一区二| 亚洲激情影院| 亚洲欧美成人在线| 国产欧美一区二区色老头| 欧美在线看片| 蜜桃av噜噜一区| 极品av少妇一区二区| 久久婷婷久久一区二区三区| 欧美国产一区二区| 亚洲视频一区二区在线观看| 国产精品日韩精品欧美精品| 免费久久99精品国产自在现线| 久久综合五月天婷婷伊人| 亚洲欧洲精品一区二区| 欧美日韩成人网| 午夜精品理论片| 欧美成人伊人久久综合网| 一区二区三区久久网| 国产乱码精品一区二区三区不卡| 欧美专区18| 亚洲人体偷拍| 久久精品二区| 亚洲毛片播放| 国产亚洲人成a一在线v站| 午夜精品久久久久久| 在线视频免费在线观看一区二区| 欧美小视频在线观看| 久久人人爽国产| 亚洲私人影吧| 欧美成人日本| 欧美中文字幕第一页| 中文在线资源观看网站视频免费不卡| 国内久久精品| 国产精品免费看久久久香蕉| 美女啪啪无遮挡免费久久网站| 亚洲天堂久久| 亚洲精品免费一二三区| 免费一级欧美在线大片| 久久成人18免费网站| 在线性视频日韩欧美| 亚洲国产精品高清久久久| 国产区精品视频| 欧美视频免费在线观看| 欧美高清不卡| 久久久亚洲国产美女国产盗摄| 国产精品99久久久久久久vr| 亚洲欧洲精品一区二区| 欧美插天视频在线播放| 久久久蜜臀国产一区二区| 欧美亚洲在线视频|