在 C++ 中,列表初始化和其他初始化有什么区别?

问题描述

在 C++ Primer 2.2.1 Variable DeFinitions 一章他们说用花括号初始化被称为列表初始化,他们说

当与内置类型的变量一起使用时,这种形式的初始化 有一个重要的特性:编译器不会让我们列出 初始化内置类型的变量,如果初始化程序可能导致 信息丢失:

long double ld = 3.1415926536;
int a{ld},b = {ld}; // error: narrowing conversion required
int c(ld),d = ld; // ok: but value will be truncated

所以我认为这是列表初始化和其他初始化的区别。但是当我试图检查它时。我看到它运行良好!只有他们给出了一些警告(他们说错误)。所以我对此一无所知。那么有人能告诉我普通初始化和列表初始化有什么区别吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...