我发现了几个使用{...}. 但是这些例子已经很老了。我只是想核对一下——目前的情况是否仍然如所描述的那样?
在每个上下文(尤其是模板)中,以下源代码片段始终是明确的——不管是什么T和v是。
T{v};-- 总是构造一个临时类型T并用 value 初始化它v。T x{v};--用 value初始化一个x类型的变量。TvT x = {v};-- 相同,因为=在这里只是可选的。T a[] = {v};-- 使用 value 初始化数组的所有元素v。p = new T{v};-- 在堆上分配一个类型的对象T并用值初始化它v。
因此,告诉人们“更喜欢{}-syntax,你的源代码不会有不同的含义,这取决于what Tand vare”仍然是正确的。