В моем коде у меня есть следующий шаблон
template <typename T> struct VectorXY {
std::vector<T> x;
std::vector<T> y;
};
В другом файле cpp я создаю пару точек x и y, как показано ниже (Это пример, а не фактический код. создается в a для l oop): xy_points = ((x1,y1), (x2,y2), (x3,y3))
и т. д.
Теперь я хочу извлечь все значения x, такие как x1, x2, x3 et c. и сохраните их в x_vector, как показано выше в шаблоне. Точно так же я хочу сделать это для значений y, таких как y1, y2, y3, и сохранить их в y_vector.
Edit :
template <typename T>
static Point2D<T>::VectorXY<T> create_x_y_vectors(const std::vector<Point2D<T>> point_vector)
{
VectorXY<T> xy_vec;
std::vector<std::pair<T, T>> xy_points(point_vector.size());
for (size_t i = 0; i < point_vector.size(); ++i) {
xy_points[i] = std::make_pair(point_vector[i].x(), point_vector[i].y());
// This is still incomplete. Hence there is no return value.
}
К сожалению, я не могу поделиться класс Point2D здесь, но то, что делает эта функция, как описано выше, создает точки вроде: ((x1, y1), (x2, y2), (x3, y3)) et c ..
I хотел бы теперь извлечь точки x1, x2, x3 и сохранить их в x_vector в шаблоне и аналогичным образом сделать это для y1, y2 и y3.
И вот где я не в курсе. Как мне go хранить значения x и y в соответствующих векторах? Также я хочу вернуть xy_ve c из функции.
Спасибо. Мне нужна твоя помощь.