返回向量(返回类型)

The*_*red 1 c++ return reference vector object

我距离最终掌握指针和参考的完整用途和概念(或者我希望如此)只有一步之遥,所以我需要你的帮助来清楚地解决问题.

我有一个包含一个对象的private成员向量ClassA,所以vector<myObj> vec.

我应该使用什么样的getter ClassA来返回vec所以我可以打印内容而myObj无需冗余分配内存?我需要通过returnvec reference,常规return vec,甚至指向vec

Bat*_*eba 7

你应该通过不断的参考来回报:

const vector<myObj>& ClassA::getVec() const{
    return vec;
}
Run Code Online (Sandbox Code Playgroud)

这意味着(i)没有采取有价值的副本,并且(ii)调用者不能修改有助于获得程序稳定性的参考.

注意我是如何制作成员函数的const.这意味着您可以从常量实例中调用此函数ClassA.