Информация об изменениях

Сообщение Re[4]: initializer_list и неизвестная размерность от 25.11.2020 15:08

Изменено 25.11.2020 15:10 ArtDenis

Re[4]: initializer_list и неизвестная размерность
Здравствуйте, Bill Baklushi, Вы писали:

BB>...


Если уж придирки продолжились и с учётом того, что скорее всего Tree будет использоваться только при инициализации (как тип аргумента функции инициализации), то можно уменьшить потребление памяти и количество релокаций:

struct Tree
{
    std::variant<std::vector<Tree>, std::initializer_list<int>> val_;
    Tree(std::initializer_list<int> children) : val_(children) {}
    Tree(std::initializer_list<Tree> children) : val_(children) {}
};
Re[4]: initializer_list и неизвестная размерность
Здравствуйте, Bill Baklushi, Вы писали:

BB>...


Если уж придирки продолжились и с учётом того, что скорее всего Tree будет использоваться только при инициализации (как тип аргумента функции инициализации), то можно уменьшить потребление памяти и количество алокаций:

struct Tree
{
    std::variant<std::vector<Tree>, std::initializer_list<int>> val_;
    Tree(std::initializer_list<int> children) : val_(children) {}
    Tree(std::initializer_list<Tree> children) : val_(children) {}
};