亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

宣武区| 闸北区| 阿尔山市| 南京市| 台东县| 辽宁省| 南川市| 历史| 秀山| 东乡| 张家港市| 乐清市| 桦南县| 方山县| 台北市| 临潭县| 松潘县| 郓城县| 兴化市| 吴忠市| 宁国市| 张掖市| 乐安县| 赞皇县| 天台县| 田东县| 高台县| 青冈县| 井冈山市| 个旧市| 天峻县| 建阳市| 双流县| 句容市| 南康市| 花垣县| 安丘市| 安多县| 广德县| 上栗县| 池州市|