Мне что-то интересно.
У меня есть класс Polygon
, который составляет вектор Line
(другой класс здесь)
class Polygon
{
std::vector<Line> lines;
public:
const_iterator begin() const;
const_iterator end() const;
}
С другой стороны, у меня есть функция, которая вычисляет вектор указателей на строки и на основе этих строк должна возвращать указатель на Polygon
.
Polygon* foo(Polygon& p){
std::vector<Line> lines = bar (p.begin(),p.end());
return new Polygon(lines);
}
Вот вопрос:
Я всегда могу добавить полигон (вектор
Есть ли лучший способ, чем разыменование каждого элемента вектора и присвоение его существующему векторному контейнеру?
//for line in vector<Line*> v
//vcopy is an instance of vector<Line>
vcopy.push_back(*(v.at(i))
Я думаю, что нет, но мне не очень нравится такой подход.
Надеюсь, я смогу убедить автора класса изменить его, но сейчас я не могу основать свое кодирование на этом факте (и я боюсь падения производительности).
Заранее спасибо.