Ваш вопрос недостаточно ясен. Посмотрите, подходит ли вам приведенный ниже ответ. В приведенной ниже функции get_A вернет все элементы myvectorA в формате [x0,y0,z0,x1,y1,z1,...]
.
#include <bits/stdc++.h>
using namespace std;
struct A { int x; int y; int z;};
vector<size_t> get_A(vector<A> myVectorA)
{
vector<size_t>a;
for(int i=0;i<myVectorA.size();i++){
a.push_back(myVectorA[i].x);
a.push_back(myVectorA[i].y);
a.push_back(myVectorA[i].z);
}
return a;
}
int main() {
vector<A>myVectorA;
A a{1,2,3};
A b{4,5,6};
A c{7,8,9};
myVectorA.push_back(a); // myVectorA now becomes - [{1,2,3}]
myVectorA.push_back(b);
myVectorA.push_back(c);// now I have pushed 3 instances of struct A. myVectorA now becomes - [{1,2,3},{4,5,6},{7,8,9}]
vector<size_t>res = get_A(myVectorA); //will return [1,2,3,4,5,6,7,8,9]
for(int i=0;i<res.size();i++)
cout<<res[i]<<" "; //prints all elements of myVectorA
return 0;
}
OUTPUT -
1 2 3 4 5 6 7 8 9