В общем есть задача, дано выражение: 5 * [1,2,3] + ( 5 * [3,2,1] - [1,2]) + [1,2,3,4,5,6]
то что в [ ] это вектор, его можно складывать или вычитать с вектором, но не с числом, вектор можно умножать на число, так же есть скобки для приоритетов. если векторы разной размерности, дополняем нулями меньший
на выходе должно получиться [20,20,23,4,5,6]
в общем для реализации изобрел полиморфный стек, который может хранить «оператор», «множитель», «вектор»
но с таким стеком крайне неудобно работать, так как после операции pop не известно, что получим и надо освобождать память, если получили vector. В общем решение неудачное, подскажите, как еще можно решить?