• <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
            一、類型轉(zhuǎn)換

            1、強(qiáng)制類型轉(zhuǎn)換::類型不同,而且不屬于基本數(shù)據(jù)類型(int double...)時(shí),經(jīng)常需要強(qiáng)制類型轉(zhuǎn)換
            ①、顯示強(qiáng)制類型轉(zhuǎn)換
            TYPE b = (TYPE) a;

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

            2、隱式強(qiáng)制類型轉(zhuǎn)換 
            自動(dòng)類型轉(zhuǎn)換分兩種情況:
            ①,不同類型的數(shù)據(jù)進(jìn)行運(yùn)算時(shí),系統(tǒng)會(huì)自動(dòng)將運(yùn)算優(yōu)先級(jí)別低的轉(zhuǎn)換成級(jí)別高的,結(jié)果和運(yùn)算級(jí)別高的數(shù)據(jù)類型一樣。
            ②,賦值運(yùn)算符兩邊類型不一樣時(shí),系統(tǒng)會(huì)自動(dòng)將右側(cè)表達(dá)式的類型轉(zhuǎn)換成左側(cè)的變量類型,然后再賦值


            3、不允許的經(jīng)過(guò)轉(zhuǎn)換構(gòu)造函數(shù)進(jìn)行的隱式轉(zhuǎn)換的發(fā)生。explicit   不能AAA = XXX


            二、靜態(tài)static


            1 靜態(tài)數(shù)據(jù)成員的類型可以是其所屬類而非static 數(shù)據(jù)成員只能被聲明為該類的對(duì)象的指針或引用例如

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

            2 靜態(tài)數(shù)據(jù)成員可以被作為類成員函數(shù)的缺省實(shí)參而非static 成員不能例如
            extern int var;
            class Foo {
            private:
            int var;
            static int stcvar;
            public:
            // 錯(cuò)誤: 被解析為非 static 的 Foo::var
            // 沒(méi)有相關(guān)的類對(duì)象
            int mem1( int = var );
            // ok: 解析為 static 的 Foo::stcvar
            // 無(wú)需相關(guān)的類對(duì)象
            int mem2( int = stcvar );
            // ok: int var 的全局實(shí)例
            int mem3( int = ::var );
            };

             

            靜態(tài)成員函數(shù)::靜態(tài)成員函數(shù)的聲明除了在類體中的函數(shù)聲明前加上關(guān)鍵字static 以及不能聲明為const 或volatile 之外與非靜態(tài)成員函數(shù)相同

            (1)、出現(xiàn)在類體外的函數(shù)定義不能指定關(guān)鍵字static
            (2)、靜態(tài)成員函數(shù)沒(méi)有this 指針
            (3)、訪問(wèn)時(shí)用類::標(biāo)識(shí)


            三、修飾符

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

            2、typedef
            ①、類型的類別,不是簡(jiǎn)單的宏替換
            ②、定義結(jié)構(gòu)體struct放在前面

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

            4、inline
            內(nèi)聯(lián)函數(shù):用來(lái)消除函數(shù)調(diào)用時(shí)的時(shí)間開(kāi)銷。它通常用于頻繁執(zhí)行的函數(shù)。 一個(gè)小內(nèi)存空間的函數(shù)非常受益。

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

            6、volatile
            每次使用時(shí)重新讀取值
            ①. 并行設(shè)備的硬件寄存器(如:狀態(tài)寄存器)   
            ②. 一個(gè)中斷服務(wù)子程序中會(huì)訪問(wèn)到的非自動(dòng)變量(Non-automatic variables)   
            ③. 多線程應(yīng)用中被幾個(gè)任務(wù)共享的變量


            posted on 2011-11-30 20:32 Yu_ 閱讀(406) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++
            久久免费视频1| 久久婷婷五月综合97色直播| 99久久综合国产精品二区| 久久国产精品久久| 一本一道久久综合狠狠老| 亚洲中文字幕无码久久2017| 久久丫精品国产亚洲av| 欧美va久久久噜噜噜久久| 国産精品久久久久久久| 狠狠色丁香婷综合久久| 婷婷综合久久狠狠色99h| 亚洲va久久久久| 无码乱码观看精品久久| 色婷婷综合久久久中文字幕| 麻豆亚洲AV永久无码精品久久| 久久久99精品成人片中文字幕 | 亚洲国产精品无码久久久秋霞2| 亚洲av成人无码久久精品| 国产精品永久久久久久久久久| 久久99精品久久久大学生| 久久亚洲精品视频| 狠狠色丁香久久婷婷综合_中 | 久久免费线看线看| 久久精品国产亚洲AV麻豆网站| 色综合久久久久久久久五月| 亚洲国产精品综合久久一线 | 久久91综合国产91久久精品| 久久男人Av资源网站无码软件| 久久精品免费全国观看国产| 久久国产视频99电影| 久久中文字幕人妻熟av女| 狠狠精品久久久无码中文字幕| 狠狠精品久久久无码中文字幕| 久久成人小视频| 91亚洲国产成人久久精品| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 久久久精品午夜免费不卡| 久久99精品久久久久久噜噜| 偷偷做久久久久网站| 国产香蕉97碰碰久久人人| 国产精品99久久99久久久|