c++ - const 引用并创建拷贝

标签 c++

(新手使用现有代码库学习 C++) 考虑以下代码片段:

class Filter
{
    ...
public:
    Filter();
    int addFilter(gFilter &filterDesc);
    …
};

class gFilter 
{
  public:
  ….
  inline const RangeOfUInt&  getProto() const
  {
       return proto; 
  }
  private:
     …
     RangeOfUInt   proto;
     …
};

typedef struct
{
    ValueType  type;
    uint32_t   value1;
    uint32_t   value2;
} UIntRange;

typedef std::list<UIntRange> RangeOfUInt;
…

const RangeOfUInt protos = filterDesc.getProto();   //  XXX

所以在这个例子中,getProto() 返回 const 引用并为“protos”创建一个拷贝?

最佳答案

是的,你说得完全正确。 protos 是从 getProto 返回的引用生成的拷贝。 (调用者创建拷贝,getProto 则不会。)

关于c++ - const 引用并创建拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649634/

相关文章:

c++ - 获取VS C++项目的版本号

C++ 多个枚举元素作为参数传递?

c++ - mysql数据库写入和文件写入

C++ 传递对字符串本身的引用,不会编译

c++ - 如何显示用户输入的次数以及用户输入的时间

c++ - C/C++ : adding 0

c++ - 在 C++11/14 中有效地生成随机数据字节

c++ - 在 OpenMPI 中混合使用 Intel C++ 和 Fortran 时出现 undefined reference

c++ - 读取字符输入和循环计数器的问题

c++ - 带有 odeint 的简单二维系统(使用数组)无法编译