gpt4 book ai didi

c++ - 从 C++ 中的类通过引用访问变量

转载 作者:行者123 更新时间:2023-11-30 00:42:26 25 4
gpt4 key购买 nike

我有一个 C++ 类,下面是其中的一部分

class Node{
public:
vector<string> getNames() const;
private:
vector<string> names_;
};
vector<string> Node::getNames(){
return names_;
}

函数 getNames() 传递 vector 的拷贝。我如何修改我的类,以便我可以从我声明 Node 对象的任何其他类中“通过常量引用”引用 vector ,而不是传递拷贝?

最佳答案

试试这个:

class Node
{
public:
const vector<string>& getNames() const;

private:
vector<string> names_;
};

const vector<string>& Node::getNames() const
{
return names_;
}

一些事情:

  1. getNames() 现在是一个 const 方法,因为节点在逻辑上不会改变。
  2. 作为常量引用返回,因此您无需复制。

关于c++ - 从 C++ 中的类通过引用访问变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/937378/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com