![](/img/trans.png)
[英]Use of parenthesis or curly braces in C++ constructor initializer list
[英]Double curly braces in C++ constructor
以下C ++代码行中的双花括号是什么意思?
piranha::symbol_set ss({{piranha::symbol(detail::poly_print(var))}});
对于上下文,这是来自SymEngine代码中的文件( "symengine/polys/uintpoly_piranha.h"
),可以在下面的链接中找到,以及上面一行中使用的Piranha库。
我知道单个花括号用作初始化列表,但括号内的双花括号的含义对我来说没什么意义。
我在双花括号上找到的主要内容是这篇文章 ,但它似乎不适用于此。
此外,我为这样的源代码链接道歉,但我不确定如何在缺乏理解的情况下做出一个较小的例子。
谢谢!
可以使用卷曲括号来描述
std::initializer_list
,参见相应的构造函数 ) symbol
实例,请参阅相应的构造函数 ) {parameters}
而不是symbol{parameters}
{parameters}
。 这也适用于返回值和变量初始化。 那么这一行实际发生的是:
detail::poly_print(var)
返回一个std::string
piranha::symbol
symbol
的移动构造函数(我在这里猜测),构造另一个symbol
piranha::symbol
存储在std::initializer_list
piranha::symbol_set
的构造piranha::symbol_set
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.