返回向量(返回类型)

时间:2014-10-21 10:57:50

标签: c++ object vector reference return

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

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

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

2 个答案:

答案 0 :(得分:7)

您应该通过常量引用返回

const vector<myObj>& ClassA::getVec() const{
    return vec;
}

这意味着(i)没有取得价值副本,以及(ii)来电者无法修改有助于提高计划稳定性的参考。

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

答案 1 :(得分:2)

您可以将const引用返回到向量:

const vector<myObj>& get() const
{
  return vec;
}