根据问题string array[] = ""; 是什么意思?是什么意思以及为什么它有效? https://stackoverflow.com/questions/21481462/what-does-this-code-mean-and-why-does-it-work我想问一下有什么区别s1 and s2在下面的代码中:
int main() {
const char* s1 = { "Hello" }; // strange but work as followed
const char* s2 = "Hello"; // ordinary case
return 0;
}
为什么允许额外的花括号?任何对 C++ 标准的引用都会有用。
在 C++98(和 C++03)中,这非常简单;第 8.5 条:
14 - If T
是标量类型,然后是以下形式的声明T x = { a };
相当于T x = a;
在 C++11 中,列表初始化 (8.5.4p3) 涵盖了这一点:
[...] 如果初始值设定项列表具有类型 E 的单个元素并且 T 不是引用类型或
它的引用类型与 E 引用相关,对象或引用从该元素初始化 [...]
I think这是同样的问题用大括号初始化标量 https://stackoverflow.com/questions/14232184/initializing-scalars-with-braces?lq=1.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)