程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> C++列表初始化

C++列表初始化

編輯:關於C++

在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的初始化請求。


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved