(使用现有代码库学习 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' 创建一个副本?