C++列表初始化

來源:互聯網
上載者:User

標籤:c++   c++11   

在C++11中,使用花括弧來初始設定變數得到全面的應用,也可以用花括弧來對變數賦值。當用於內建類型變數時,這種初始化的一個重要特點是如果使用列表初始化且初始值存在丟失資訊的風險,編譯器將報錯。

int _tmain(int argc, _TCHAR* argv[]){long double ld = 3.1415926536;int a{ ld };int b = { ld };int c(ld);int d = ld;return 0;}
編譯將得到以下錯誤:

(11): error C2397: 從“long double”轉換到“int”需要收縮轉換(11): warning C4244: “初始化”: 從“long double”轉換到“int”,可能遺失資料(12): error C2397: 從“long double”轉換到“int”需要收縮轉換(12): warning C4244: “初始化”: 從“long double”轉換到“int”,可能遺失資料(13): warning C4244: “初始化”: 從“long double”轉換到“int”,可能遺失資料(14): warning C4244: “初始化”: 從“long double”轉換到“int”,可能遺失資料
可以看到編譯器拒絕了a和b的初始化請求。


C++列表初始化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.