在Halite生成器类中声明Var时,为什么需要使用花括号,比如
Var x{"x"}如果它在generate()函数之外,而如果它在generate()函数内,则可以使用大括号或圆括号,如下所示
void generate()
{
Var x("x");
Var y{"y"};
}这两种声明方法的区别是什么?为什么函数内部和外部所需的格式不同?
发布于 2020-01-31 09:04:52
因为这就是C++语法的工作方式。大括号被称为“统一初始化”,是C++11中的一个新特性。圆括号是C++第一个版本中的构造函数语法,只允许在某些地方使用。Halide嵌入在C++中,因此既不能消除标准构造函数语法,也不能将其添加到不受支持的地方。搜索"C++ uniform initialization“获取更多信息。
https://stackoverflow.com/questions/59976519
复制相似问题