Реинициализация массива в C ++ с помощью фигурных скобок

Я нахожусь в ситуации, когда создание новых переменных на самом деле не является хорошим вариантом, так как я бы хотел избежать создания нового массива для каждого экземпляра объекта. По сути, у меня есть класс ‘point’ и класс ‘polygon’, конструктор которого принимает вектор точек. Поскольку каждая точка должна быть установлена ​​вручную и индивидуально, поскольку между ними нет математических прогрессий, самое консервативное решение, которое я нашел, это что-то, использующее функцию MakeVector, которую я нашел, для преобразования прямые массивы для векторов.

А именно, чтобы создать один многоугольник, я получил это:

point ps[]={point(-1,-1,-1),point(1,-1,-1),point(1,1,-1),point(-1,1,-1)};
polygon p1(MakeVector(ps));

Хотя этот конкретный набор координат имеет математическую прогрессию, не все так делают, как я занимаюсь трехмерным моделированием. Следующие строки неэффективны и выдают ошибки:

ps=new point[]{point(-1,-1,1),point(1,-1,1),point(1,1,1),point(-1,1,1)};

а также

ps={point(-1,-1,1),point(1,-1,1),point(1,1,1),point(-1,1,1)};

Я пробовал несколько разных вещей, и я не нашел реального способа сделать это быстро. Я бы предпочел не ставить новую строку для каждого значения в массиве, который я создаю. Каков наилучший способ сделать это с жестко закодированными значениями?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]