Halide: формат объявления Var - PullRequest
       23

Halide: формат объявления Var

0 голосов
/ 30 января 2020

При объявлении Var внутри класса генератора Halite, почему нужно использовать фигурные скобки, такие как

Var x{"x"}

, если он находится вне функции generate (), тогда как если он находится внутри функции generate (), можно использовать либо фигурные скобки, либо скобки наподобие этого

void generate()
{
    Var x("x");
    Var y{"y"};
}

В чем различия этих двух методов объявления и почему требуемый формат отличается внутри и снаружи функции?

1 Ответ

1 голос
/ 31 января 2020

Потому что так работает синтаксис C ++. Фигурные скобки называются «равномерной инициализацией» и являются новой функцией в C ++ 11. Скобки - это синтаксис конструктора в основном из первой версии C ++ и разрешены только в определенных местах. Halide встроен в C ++ и поэтому не может ни устранить стандартный синтаксис конструктора, ни добавить его в места, где он не поддерживается. Для получения дополнительной информации выполните поиск по запросу «Единая инициализация C ++».

...