最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++中auto關(guān)鍵字的使用

 更新時(shí)間:2023年04月11日 09:00:07   作者:西.北.風(fēng)  
本文主要介紹了C++中auto關(guān)鍵字的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前提引入

1.類型名,在絕大多數(shù)編程時(shí),我們都會(huì)引入類型來定義一個(gè)我們需要的數(shù)據(jù)。

類型眾多,偶爾我們會(huì)遇見一串類型名,使用起來無比復(fù)雜。存在拼寫錯(cuò)誤,含義不明確導(dǎo)致出錯(cuò)的問題。

列如:

std::map<std::string, std::string> m{ { "apple", "蘋果" }, { "orange", "橙子" },
{"pear","梨"} };
 
std::map<std::string, std::string>::iterator it = m.begin();

在這串代碼中,std::map<std::string, std::string>::iterator 是一個(gè)類型,但是該類型太長了,特別容易寫錯(cuò)。如何簡化呢。

在C中,typedef 作為一個(gè)可以取別名的一個(gè)關(guān)鍵字。確實(shí)可以省事許多,卻任然存在缺陷。

typedef std::map<std::string, std::string> Map;

若 typedef 為指針取了別名。存在小問題。

typedef char* pstring;
int main()
{
    const pstring p1; // 編譯成功還是失?。?
    const pstring* p2; // 編譯成功還是失?。?
    return 0;
}

C++是怎么做的呢,設(shè)計(jì)師為了不想寫復(fù)雜的類型,引入了auto關(guān)鍵字。

auto :

1.在早期C/C++中auto的含義是:使用auto修飾的變量,是具有自動(dòng)存儲(chǔ)器的局部變量

2.C++11中,標(biāo)準(zhǔn)委員會(huì)賦予了auto全新的含義即:auto不再是一個(gè)存儲(chǔ)類型指示符,而是作為一個(gè)新的類型指示符來指示編譯器,auto聲明的變量必須由編譯器在編譯時(shí)期推導(dǎo)而得

注:既然auto作為推導(dǎo)而得,在使用auto時(shí),必須初始化。

auto 的使用場景

1. auto 在推導(dǎo)指針是,不必再加*號(hào);

2.auto在使用引用時(shí),必須遵循規(guī)則加上&號(hào);

3.不能作為函數(shù)的參數(shù)使用

4.不能直接用來聲明數(shù)組。

5.一行多個(gè)數(shù)據(jù)推導(dǎo)必須同類型。       

int main()
{ 
    //1
    int x = 10;
    auto a = &x;
    auto* b = &x;
    auto& c = x;
    cout << typeid(a).name() << endl;
    cout << typeid(b).name() << endl;
    cout << typeid(c).name() << endl;
    *a = 20;
    *b = 30;
    c = 40;
    
    //5
    void TestAuto()
    {
        auto a = 1, b = 2;
        auto c = 3, d = 4.0;  //錯(cuò)
    }
 
 
return 0;
}

到此這篇關(guān)于C++中auto關(guān)鍵字的使用的文章就介紹到這了,更多相關(guān)C++ auto關(guān)鍵字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

东乌珠穆沁旗| 桐城市| 行唐县| 天峻县| 东安县| 达孜县| 荃湾区| 潼关县| 称多县| 合作市| 定州市| 霍城县| 佛教| 威信县| 内丘县| 那曲县| 辰溪县| 京山县| 鄂尔多斯市| 四子王旗| 延川县| 桂东县| 苏州市| 红河县| 济阳县| 天长市| 达日县| 新丰县| 永济市| 深圳市| 温宿县| 满洲里市| 汕尾市| 黄陵县| 霍州市| 凤台县| 双流县| 海晏县| 台中市| 合肥市| 永安市|