Я хочу сделать функцию, которая возвращает вектор по ссылке. Но возвращенный вектор (returned_v
) - это не то же самое, что vec.v
, а скопированный вектор. Это означает, что вектор возвращается по значению. Как я могу получить ссылочный вектор из vector_reference()
?
class Vec {
public:
std::vector<int> v = {1, 2, 3};
std::vector<int>& vector_reference() {
return v;
}
};
int main() {
Vec vec;
std::vector<int> returned_v = vec.vector_reference();
returned_v.clear();
std::cout << returned_v.size() << std::endl; // result: 0
std::cout << vec.v.size() << std::endl; // result: 3
return 0;
}