Мне нужно проанализировать сложный AST, и было бы невозможно выделить этот AST в куче памяти, а узлы AST должны поддерживать полиморфизм. Одним из решений было бы выделить узлы AST с помощью интеллектуальных указателей.
Чтобы упростить вопрос, как бы я синтезировал следующую структуру (std::unique_ptr<GiantIntegerStruct> giantIntegerStruct
), например, с Boost Spirit X3?
struct GiantIntegerStruct {
std::vector<unique_ptr<int>> manyInts;
}
Мое пробное решение, это использовать semanti c действия. Есть ли альтернатива?