正如查尔斯贝利在这个问题中回答的那样,当对象类型很大但什么样的对象被认为是大时,应该考虑通过常量引用传递?
编辑: 可以提供更多可用于提供更具体答案的数据,我决定在此描述中添加一个真实世界的问题。
假设我们有一个像这样的对象:
typedef struct dipl {
quint16 __id;
quint16 __pos;
quint16 __len;
} data;
我们还有另一个像这样的对象:
class bidipl
{
public:
bidipl();
quint8 id();
void setid(quint8 __id);
void appenddipl(dipl __dipl);
private:
qint8 _M_id;
dipllist _M_dipllist;
};
dipllist
在哪里typedef QList<dipl> dipllist;
。对象dipl
和bidipl
创建一次,但每分钟可能访问超过 100 次。那么我们应该如何传递dipl
给我们的 append 函数呢?
void appenddipl(dipl __dipl);
或者
void appenddipl(const dipl& __dipl);