#include #include class Foo { public: std::vector data; }; class Asd { public: Foo f1; Foo f2; }; std::vector getfoos(const Asd& asd) { std::vector out; out.push_back(asd.f1); out.push_back(asd.f2); return out; } int main(int argc, char** argv) { Asd asd; for (int i = 0; i < 4; i++) { asd.f1.data.push_back(i); asd.f2.data.push_back(i); } std::vector another = getfoos(asd); another[0].data.clear(); another[1].data.clear(); std::cout << "foos length: " << asd.f1.data.size() << ", " << asd.f2.data.size() << std::endl; return 0; }