国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

重學(xué)C++系列之const與static關(guān)鍵字分析

這篇具有很好參考價(jià)值的文章主要介紹了重學(xué)C++系列之const與static關(guān)鍵字分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

? ? ? ? 本篇幅講解關(guān)鍵字const與static,主要圍繞在類(lèi)的范圍內(nèi)敘述,包括作用和使用場(chǎng)景等。

一、const與static的作用

? ? ? ? 1、const修飾的成員變量,成員變量初始化后不能再修改。

? ? ? ? 2、const修飾的成員函數(shù),成員函數(shù)不可以修改成員變量,也不能間接修改。

? ? ? ? 3、static修飾的成員變量,變?yōu)殪o態(tài)成員變量,只能在類(lèi)外初始化,由靜態(tài)成員函數(shù)來(lái)操作。

? ? ? ? 4、static修飾的成員函數(shù),變?yōu)殪o態(tài)成員函數(shù),用來(lái)操作靜態(tài)成員變量,不能訪(fǎng)問(wèn)非靜態(tài)成員變量和非靜態(tài)成員函數(shù)。

二、使用場(chǎng)景

? ? ? ? 1、const修飾成員變量,通常用于修飾一經(jīng)初始化后,不能修改的變量(如學(xué)號(hào),姓名)。

? ? ? ? 2、const修飾成員函數(shù),通常用于返回成員變量的函數(shù)。

? ? ? ? 3、static修飾成員變量,通常用于所有類(lèi)對(duì)象共享的變量,該靜態(tài)成員變量在類(lèi)中只有一個(gè)副本,

? ? ? ? 4、static修飾成員函數(shù),通常用于需要操作靜態(tài)變量的成員函數(shù)。

三、案例

? ? ? ? 1、const修飾成員變量

#include <iostream>

using namespace std;


class Test
{
private:
    int a;
    const int b;
public:
    // const 修飾的成員變量采用構(gòu)造函數(shù)初始化列表的方式
    Test(int a = 0, const int b = 0):b(b)
    {
        this->a = a;
        // this->b = b; // 上面已經(jīng)初始化了,這里不允許再次初始化
    }
    void show()
    {
        cout << "a = " << a << endl;
        cout << "b = " << b << endl;
    }
};



int main()
{
    Test A(1, 10);
    A.show();

    return 0;
}

重學(xué)C++系列之const與static關(guān)鍵字分析,C++語(yǔ)言設(shè)計(jì),c++

????????2、const修飾成員函數(shù)

#include <iostream>

using namespace std;


class Test
{
private:
    int a;
    const int b;
public:
    // const 修飾的成員變量采用構(gòu)造函數(shù)初始化列表的方式
    Test(int a = 0, const int b = 0):b(b)
    {
        this->a = a;
        // this->b = b; // 上面已經(jīng)初始化了,這里不允許再次初始化
    }
    // 獲取成員變量的函數(shù)通常用const修飾
    int getA()const
    {
        return a;
    }
    int getB()const
    {
        return b;
    }
};



int main()
{
    Test A(1, 10);
    cout << "A = " << A.getA() << endl;
    cout << "B = " << A.getB() << endl;

    return 0;
}

重學(xué)C++系列之const與static關(guān)鍵字分析,C++語(yǔ)言設(shè)計(jì),c++

????????3、static修飾成員變量和成員函數(shù)

#include <iostream>

using namespace std;


class Test
{
private:
    int a;
    const int b;
    static int c;   // 靜態(tài)成員變量
public:
    // const 修飾的成員變量采用構(gòu)造函數(shù)初始化列表的方式
    Test(int a = 0, const int b = 0):b(b)
    {
        this->a = a;
        c++;    
        // this->b = b; // 上面已經(jīng)初始化了,這里不允許再次初始化
    }
    
    // 不能寫(xiě)成: static int getC()const, 靜態(tài)成員函數(shù)不允許使用類(lèi)型限定符
    static int getC()
    {
       
        return c;
    }
};

// 靜態(tài)成員變量在類(lèi)中聲明,類(lèi)外定義,定義時(shí)不需要加static
int Test::c = 0;


int main()
{
    Test A(1, 10);
    
    // 可以使用對(duì)象名.靜態(tài)成員函數(shù)名來(lái)訪(fǎng)問(wèn)
    cout << "C = " << A.getC() << endl;

    Test B(2, 20);
    cout << "C = " << B.getC() << endl;

    // 可以使用類(lèi)名::靜態(tài)成員函數(shù)名來(lái)訪(fǎng)問(wèn)
    cout << "C = " << Test::getC() << endl;

    return 0;
}

重學(xué)C++系列之const與static關(guān)鍵字分析,C++語(yǔ)言設(shè)計(jì),c++

????????4、const和static共同修飾成員變量

#include <iostream>

using namespace std;


class Test
{
private:
    int a;
    const int b;
    const static int c;   // 用const來(lái)修飾靜態(tài)成員變量
public:
    // const 修飾的成員變量采用構(gòu)造函數(shù)初始化列表的方式
    Test(int a = 0, const int b = 0):b(b)
    {
        this->a = a;
        // c++;    // 靜態(tài)成員變量不能修改
        // this->b = b; // 上面已經(jīng)初始化了,這里不允許再次初始化
    }
    
    // 不能寫(xiě)成: static int getC()const, 靜態(tài)成員函數(shù)不允許使用類(lèi)型限定符
    static int getC()
    {
       
        return c;
    }
};

// 靜態(tài)成員變量在類(lèi)中聲明,類(lèi)外定義,定義時(shí)不需要加static
const int Test::c = 0;


int main()
{
    Test A(1, 10);
    
    // 可以使用對(duì)象名.靜態(tài)成員函數(shù)名來(lái)訪(fǎng)問(wèn)
    cout << "C = " << A.getC() << endl;

    Test B(2, 20);
    cout << "C = " << B.getC() << endl;

    // 可以使用類(lèi)名::靜態(tài)成員函數(shù)名來(lái)訪(fǎng)問(wèn)
    cout << "C = " << Test::getC() << endl;

    return 0;
}

重學(xué)C++系列之const與static關(guān)鍵字分析,C++語(yǔ)言設(shè)計(jì),c++

四、總結(jié)

? ? ? ? const與static關(guān)鍵字都可以修飾成員變量和函數(shù),但是作用有所不同。如果是獲取非靜態(tài)成員變量的返回值的函數(shù),通常用const來(lái)修飾,增加可讀性。如果是用static來(lái)修飾成員變量,該成員變量變?yōu)殪o態(tài)成員變量,不屬于任何類(lèi)對(duì)象,只屬于類(lèi),只有一個(gè)副本,類(lèi)對(duì)象成員之間共享。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-609657.html

到了這里,關(guān)于重學(xué)C++系列之const與static關(guān)鍵字分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 詳解const、static關(guān)鍵字

    詳解const、static關(guān)鍵字

    目錄 ? 一、static 二、const 在c語(yǔ)言中: static是用來(lái)修飾變量和函數(shù)的 ? ? ? ? 1.修飾局部變量——稱(chēng)為靜態(tài)局部變量 ? ? ? ? 2.修飾全局變量——稱(chēng)為靜態(tài)全局變量 ? ? ? ? 3.修飾函數(shù)——稱(chēng)為靜態(tài)函數(shù) 有關(guān)內(nèi)存相關(guān)知識(shí)補(bǔ)充: 程序的所有數(shù)據(jù),也就是所有的

    2024年02月06日
    瀏覽(24)
  • C++ -- 學(xué)習(xí)系列 static 關(guān)鍵字的使用

    C++ -- 學(xué)習(xí)系列 static 關(guān)鍵字的使用

    static 是 C++ 中常用的,被 static 修飾的變量只會(huì)在 靜態(tài)存儲(chǔ)區(qū) (常量數(shù)據(jù)也存放在這里) 被分配一次內(nèi)存,生命周期與整個(gè)程序一樣,隨著程序的消亡而消亡。 1. 在文件中定義的 靜態(tài)全局變量 2. 在函數(shù)中定義的靜態(tài)變量 3. 類(lèi)的靜態(tài)成員變量 4. 靜態(tài)類(lèi)對(duì)象 5. 類(lèi)的靜

    2024年02月09日
    瀏覽(22)
  • 嵌入式C語(yǔ)言關(guān)鍵字(const、static、volitatile)

    C語(yǔ)言中const修飾通常是用來(lái)聲明常量,并聲明常量的值不能修改。當(dāng)涉及 指針變量 時(shí)情況就會(huì)變得更加有趣,需要特別注意。因?yàn)橛袃蓸訓(xùn)|西都有可能成為常量— 一種是用來(lái)限定指向的空間的值不可修改;另一種是限定指針不可修改 。下面是幾個(gè)聲明的例子: 總結(jié):cons

    2024年02月06日
    瀏覽(26)
  • static,const,volatile,extern,register關(guān)鍵字深入解析

    static,const,volatile,extern,register關(guān)鍵字深入解析

    ?作者簡(jiǎn)介:嵌入式入坑者,與大家一起加油,希望文章能夠幫助各位!?。?! ??個(gè)人主頁(yè):@rivencode的個(gè)人主頁(yè) ??系列專(zhuān)欄:玩轉(zhuǎn)C語(yǔ)言 ??保持學(xué)習(xí)、保持熱愛(ài)、認(rèn)真分享、一起進(jìn)步??! 我們都知道一個(gè)源文件要生成我們計(jì)算機(jī)課執(zhí)行的文件要經(jīng)過(guò): 源文件(test.c)—預(yù)編

    2023年04月08日
    瀏覽(21)
  • 【C++】C 語(yǔ)言 和 C++ 語(yǔ)言中 const 關(guān)鍵字分析 ( const 關(guān)鍵字左數(shù)右指原則 | C 語(yǔ)言中常量的原理和缺陷 | C++ 語(yǔ)言中常量原理 - 符號(hào)表存儲(chǔ)常量 )

    【C++】C 語(yǔ)言 和 C++ 語(yǔ)言中 const 關(guān)鍵字分析 ( const 關(guān)鍵字左數(shù)右指原則 | C 語(yǔ)言中常量的原理和缺陷 | C++ 語(yǔ)言中常量原理 - 符號(hào)表存儲(chǔ)常量 )

    【C 語(yǔ)言】const 用法 ( 常量指針 - const 在 * 左邊 - 修飾數(shù)據(jù)類(lèi)型 - 內(nèi)存不變 | 指針常量 - const 在 * 右邊 - 修飾變量 - 指針不變 ) 普通類(lèi)型數(shù)據(jù)的常量定義時(shí) , const 在 數(shù)據(jù)類(lèi)型 的 左邊 和 右邊 其作用 是相同的 ; 指針數(shù)據(jù)的相關(guān)常量類(lèi)型 : const 在 指針?lè)?hào)

    2024年02月11日
    瀏覽(24)
  • C語(yǔ)言中volatile/register/const/static/extern/auto關(guān)鍵字的作用

    目錄 一、volatile 二、register詳解 三、const詳解 四、static詳解 五、extern詳解 語(yǔ)法 作用 六、auto詳解 突然想總結(jié)一下這些的作用,靈活使用這些對(duì)程序的可靠性和速率都有提高 volatile是防止編譯器優(yōu)化,如果是高頻繁的變量編譯器會(huì)自動(dòng)將變量放到寄存器中,但是有的變

    2024年02月07日
    瀏覽(25)
  • c++關(guān)鍵字const

    C++中的const是一種常量修飾符。在變量、函數(shù)參數(shù)和成員函數(shù)中使用const可以限制其對(duì)數(shù)據(jù)的修改。 const修飾的數(shù)據(jù)在定義時(shí)必須進(jìn)行初始化,且不能被修改,因此使用const可以提高代碼的安全性和可讀性。 在 C ++ 中, const修飾的成員函數(shù)表示該函數(shù)保證不會(huì)修改類(lèi)的成員變量

    2024年01月19日
    瀏覽(30)
  • 【C++】const關(guān)鍵字的詳解??!

    【C++】const關(guān)鍵字的詳解??!

    ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???? ?? ?? ?? 個(gè)人主頁(yè) :阿然成長(zhǎng)日記 ??點(diǎn)擊可跳轉(zhuǎn) ?? 個(gè)人專(zhuān)欄: ??數(shù)據(jù)結(jié)構(gòu)與算法??C語(yǔ)言進(jìn)階 ?? 不能則學(xué),不知?jiǎng)t問(wèn),恥于問(wèn)人,決無(wú)長(zhǎng)進(jìn) ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? const是永恒不

    2024年02月03日
    瀏覽(30)
  • C++—static關(guān)鍵字詳解

    C++的static有兩種用法:面向過(guò)程程序設(shè)計(jì)中的static和面向?qū)ο蟪绦蛟O(shè)計(jì)中的static。前者應(yīng)用于普通變量和函數(shù),不涉及類(lèi);后者主要說(shuō)明static在類(lèi)中的作用。 靜態(tài)全局變量有以下特點(diǎn): 1、該變量在全局?jǐn)?shù)據(jù)區(qū)分配內(nèi)存; 2、未經(jīng)初始化的靜態(tài)全局變量會(huì)被程序自動(dòng)初始化為

    2024年02月15日
    瀏覽(23)
  • 【C++】static 關(guān)鍵字的特性 與 問(wèn)題

    聲明為 static的類(lèi)成員 稱(chēng)為 類(lèi)的靜態(tài)成員 用 static 修飾的成員變量 ,稱(chēng)之為 靜態(tài)成員變量 ; 用 static 修飾的成員函數(shù) ,稱(chēng)之為 靜態(tài)成員函數(shù) 。 靜態(tài)成員變量 一定要在 類(lèi)外進(jìn)行初始化 。 下面一段代碼證明 上述定義: 輸出結(jié)果: 從代碼可以看出,靜態(tài)成員變量需要在 類(lèi)

    2024年02月14日
    瀏覽(60)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包