• <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>
            posts - 34,comments - 2,trackbacks - 0
            一、類型轉換

            1、強制類型轉換::類型不同,而且不屬于基本數據類型(int double...)時,經常需要強制類型轉換
            ①、顯示強制類型轉換
            TYPE b = (TYPE) a;

            C++中強制類型轉換函數有4個:
            const_cast(用于去除const屬性),
            static_cast(用于基本類型的強制轉換),
            dynamic_cast(用于多態類型之間的類型轉換),
            ::dynamic_cast < type-id > ( expression )   該運算符把expression轉換成type-id類型的對象。Type-id必須是類的指針、類的引用或者void*;   如果type-id是類指針類型,那么expression也必須是一個指針,如果type-id是一個引用,那么expression也必須是一個引用。   dynamic_cast主要用于類層次間的上行轉換和下行轉換,還可以用于類之間的交叉轉換。
            reinterpreter_cast(用于不同類型之間的指針之間的轉換,最常用的就是不同類型之間函數指針的轉換)。

            2、隱式強制類型轉換 
            自動類型轉換分兩種情況:
            ①,不同類型的數據進行運算時,系統會自動將運算優先級別低的轉換成級別高的,結果和運算級別高的數據類型一樣。
            ②,賦值運算符兩邊類型不一樣時,系統會自動將右側表達式的類型轉換成左側的變量類型,然后再賦值


            3、不允許的經過轉換構造函數進行的隱式轉換的發生。explicit   不能AAA = XXX


            二、靜態static


            1 靜態數據成員的類型可以是其所屬類而非static 數據成員只能被聲明為該類的對象的指針或引用例如

            class Bar {
            public:
            private:
            static Bar mem1; // ok
            Bar *mem2; // ok
            Bar mem3; // 錯誤
            };

            2 靜態數據成員可以被作為類成員函數的缺省實參而非static 成員不能例如
            extern int var;
            class Foo {
            private:
            int var;
            static int stcvar;
            public:
            // 錯誤: 被解析為非 static 的 Foo::var
            // 沒有相關的類對象
            int mem1( int = var );
            // ok: 解析為 static 的 Foo::stcvar
            // 無需相關的類對象
            int mem2( int = stcvar );
            // ok: int var 的全局實例
            int mem3( int = ::var );
            };

             

            靜態成員函數::靜態成員函數的聲明除了在類體中的函數聲明前加上關鍵字static 以及不能聲明為const 或volatile 之外與非靜態成員函數相同

            (1)、出現在類體外的函數定義不能指定關鍵字static
            (2)、靜態成員函數沒有this 指針
            (3)、訪問時用類::標識


            三、修飾符

            1、const
            ①、對類型 限定為常量
            ②、作為函數參數  限定參數不可改變或成員變量不變

            2、typedef
            ①、類型的類別,不是簡單的宏替換
            ②、定義結構體struct放在前面

            3、static
            .........

            4、inline
            內聯函數:用來消除函數調用時的時間開銷。它通常用于頻繁執行的函數。 一個小內存空間的函數非常受益。

            5、extern
            聲明函數或者變量,讓在另一文件中使用

            6、volatile
            每次使用時重新讀取值
            ①. 并行設備的硬件寄存器(如:狀態寄存器)   
            ②. 一個中斷服務子程序中會訪問到的非自動變量(Non-automatic variables)   
            ③. 多線程應用中被幾個任務共享的變量


            posted on 2011-11-30 20:32 Yu_ 閱讀(403) 評論(0)  編輯 收藏 引用 所屬分類: C/C++
            亚洲人成无码久久电影网站| 久久久久久亚洲AV无码专区| 久久97久久97精品免视看| 久久久久久国产精品美女 | 色综合久久88色综合天天| 麻豆亚洲AV永久无码精品久久 | 亚洲精品乱码久久久久久自慰| 亚洲性久久久影院| 区亚洲欧美一级久久精品亚洲精品成人网久久久久| 久久综合日本熟妇| 国产精品久久久久影院嫩草| 国内精品久久久久久久coent | AV无码久久久久不卡蜜桃| 久久久久AV综合网成人| 久久综合五月丁香久久激情| 潮喷大喷水系列无码久久精品 | 区久久AAA片69亚洲| 日本精品久久久久中文字幕| 婷婷国产天堂久久综合五月| 青青草原综合久久| 久久夜色精品国产噜噜麻豆| 久久久久久久综合狠狠综合| 国产亚洲美女精品久久久| 久久精品国产亚洲AV麻豆网站| 久久人妻少妇嫩草AV蜜桃| 国产高潮国产高潮久久久91 | 久久精品国产乱子伦| 亚洲狠狠综合久久| 久久99国产精一区二区三区| 国产偷久久久精品专区| 亚洲人成无码www久久久| 四虎久久影院| 亚洲国产精品成人久久蜜臀| 久久黄色视频| 久久久久人妻一区精品| 久久久中文字幕日本| 久久人人爽人人澡人人高潮AV| 99久久精品免费看国产免费| 99久久99久久精品免费看蜜桃| 97久久超碰国产精品旧版| 无码AV中文字幕久久专区|