卤化物:Var声明格式
Halide: Var declaration format
在岩盐生成器中声明 Var 时 class,为什么需要像
这样使用大括号
Var x{"x"}
如果是在generate()函数之外,如果是在generate()函数内部,可以这样用花括号或者括号
void generate()
{
Var x("x");
Var y{"y"};
}
这两种声明方式有什么区别,为什么函数内外要求的格式不同?
因为这就是 C++ 语法的工作原理。大括号称为 "uniform initialization" 并且是 C++11 中的新功能。括号基本上是第一版 C++ 的构造函数语法,仅在某些地方允许使用。 Halide 嵌入在 C++ 中,因此既不能消除标准构造函数语法,也不能将其添加到不支持的地方。搜索 "C++ uniform initialization" 以获取更多信息。
在岩盐生成器中声明 Var 时 class,为什么需要像
这样使用大括号Var x{"x"}
如果是在generate()函数之外,如果是在generate()函数内部,可以这样用花括号或者括号
void generate()
{
Var x("x");
Var y{"y"};
}
这两种声明方式有什么区别,为什么函数内外要求的格式不同?
因为这就是 C++ 语法的工作原理。大括号称为 "uniform initialization" 并且是 C++11 中的新功能。括号基本上是第一版 C++ 的构造函数语法,仅在某些地方允许使用。 Halide 嵌入在 C++ 中,因此既不能消除标准构造函数语法,也不能将其添加到不支持的地方。搜索 "C++ uniform initialization" 以获取更多信息。