Double curly braces in C++ constructor
下面的C++代码中的双括号是什么意思?
1 | piranha::symbol_set ss({{piranha::symbol(detail::poly_print(var))}}); |
在上下文中,这是来自symengine代码(
- symengine源代码:https://github.com/symengine/symengine
- Piranha源代码:https://github.com/bluescarni/piranha
我知道单大括号用作初始值设定项列表,但括号集中的双大括号对我来说意义不大。
我在双花括号中发现的主要内容是这个帖子,但在这里似乎不适用。
另外,我为链接这样的源代码而道歉,但是由于我缺乏理解,我不确定如何做一个较小的例子。
谢谢!
(P)Curly Braces can be used to describe(p)
- An initializer list,which explains the outer braces(creating an EDOCX1 universal 0 of symbols,see the corresponding constructor)
- a shorthand notation to a constructor call,which explains the innerBraces(Creating an instance of EDOCX1 universal 1 using the move constructor,see the corresponding constructor)如果你知道一个参数的类型之前,Instead of EDOCX1 plus 2,你可以只是拼写这也有助于恢复价值和可变的起点。
(P)So what actually happens in this line is:(p)
- A EDOCX1 4 commercial is returned from EDOCX1
- 这场比赛用来建造一个有趣的
- 这个季节的价值是他们通过移动的建设者(我认为在这里)的EDOCX1的英文字母1,建筑另一个EDOCX1This seems a bit冗余,but I haven't tried if the code works with only one pair of braces
- 这个以东X1是他们在一个以东
- 这是他们通过了EDOCX1的建筑商。