欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

前提引入

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

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

列如:

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 是一個類型,但是該類型太長了,特別容易寫錯。如何簡化呢。

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

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

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

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

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

auto :

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

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

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

auto 的使用場景

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

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

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

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

5.一行多個數(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;  //錯
    }
 
 
return 0;
}

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

相關(guān)文章

  • 基于C語言打造高效通訊錄的示例代碼

    基于C語言打造高效通訊錄的示例代碼

    本文主要介紹了如何使用C語言實現(xiàn)一個通訊錄。實現(xiàn)通訊錄的過程中,會大量用到C語言的知識點,包括但不限于:函數(shù)、自定義類型、指針、動態(tài)內(nèi)存管理、文件操作,感興趣的可以了解一下
    2023-05-05
  • C語言實現(xiàn)牛頓迭代法解方程詳解

    C語言實現(xiàn)牛頓迭代法解方程詳解

    這篇文章主要介紹了C語言實現(xiàn)牛頓迭代法解方程詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • C語言逆向分析語法超詳細(xì)分析

    C語言逆向分析語法超詳細(xì)分析

    這篇文章主要介紹了C語言逆向分析語法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2022-11-11
  • C++派生訪問說明符小記(推薦)

    C++派生訪問說明符小記(推薦)

    下面小編就為大家?guī)硪黄狢++派生訪問說明符小記(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • C++第11版本中的一些強(qiáng)大的新特性小結(jié)

    C++第11版本中的一些強(qiáng)大的新特性小結(jié)

    這篇文章主要介紹了C++第11版本中的一些強(qiáng)大的新特性小結(jié),需要的朋友可以參考下
    2015-12-12
  • 詳解C++實現(xiàn)鏈表的排序算法

    詳解C++實現(xiàn)鏈表的排序算法

    鏈表排序思想和數(shù)組排序類似,區(qū)別就是數(shù)組遍歷容易,數(shù)據(jù)交換也容易;鏈表(單項鏈表)只能一個方向遍歷,不能逆序遍歷,且不能隨機(jī)訪問,所以排序比較麻煩。本文將詳細(xì)介紹鏈表排序的方式,并且用C++來實現(xiàn)
    2021-06-06
  • 深入N皇后問題的兩個最高效算法的詳解

    深入N皇后問題的兩個最高效算法的詳解

    本篇文章是對N皇后問題的兩個最高效的算法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C++代碼實現(xiàn)鏈隊列詳解

    C++代碼實現(xiàn)鏈隊列詳解

    下面小編就為大家分享一篇C++代碼實現(xiàn)鏈隊列的示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧,希望能夠給你帶來幫助
    2021-09-09
  • Qt編寫提示進(jìn)度條的實現(xiàn)示例

    Qt編寫提示進(jìn)度條的實現(xiàn)示例

    進(jìn)度條在很地方都可以使用到,Qt自帶的進(jìn)度條或者操作系統(tǒng)的進(jìn)度條樣式,不夠炫,本文就介紹一下Qt編寫自定義控件的提示進(jìn)度條的實現(xiàn)示例,感興趣的可以了解一下
    2021-12-12
  • VScode如何調(diào)用KEIL-MDK

    VScode如何調(diào)用KEIL-MDK

    這篇文章主要介紹了VScode如何調(diào)用KEIL-MDK問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論