91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中auto關鍵字怎么使用

發布時間:2023-04-11 17:22:45 來源:億速云 閱讀:234 作者:iii 欄目:開發技術

今天小編給大家分享一下C++中auto關鍵字怎么使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

前提引入

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

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

列如:

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 作為一個可以取別名的一個關鍵字。確實可以省事許多,卻任然存在缺陷。

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

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

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

C++是怎么做的呢,設計師為了不想寫復雜的類型,引入了auto關鍵字。

auto :

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

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

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

auto 的使用場景

1. auto 在推導指針是,不必再加*號;

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

3.不能作為函數的參數使用

4.不能直接用來聲明數組。

5.一行多個數據推導必須同類型。       

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;
}

以上就是“C++中auto關鍵字怎么使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双牌县| 桐城市| 东莞市| 康保县| 新乡县| 南充市| 临夏市| 汝南县| 大余县| 大化| 顺昌县| 灌南县| 昌平区| 广丰县| 阳原县| 武宁县| 乡城县| 民丰县| 高安市| 会泽县| 岗巴县| 新泰市| 秀山| 墨竹工卡县| 婺源县| 徐州市| 安福县| 穆棱市| 苏尼特右旗| 永昌县| 罗平县| 莱西市| 浮梁县| 石景山区| 赤水市| 克东县| 南宫市| 察雅县| 卫辉市| 黑水县| 凤台县|