最近我看到一个代码审查过程中下面的代码片段:构建本地对象 - 常量引用
const QString& temp("some text");
const QString& temp1("some text1");
(...)
if (temp == "whatever")
{
}
// etc
因为这样的临时看起来有点奇怪,我只是想询问是否有人可以解释什么是这种方式构建对象的优缺点?我只想去寻找const对象 - 我错过了什么?
最近我看到一个代码审查过程中下面的代码片段:构建本地对象 - 常量引用
const QString& temp("some text");
const QString& temp1("some text1");
(...)
if (temp == "whatever")
{
}
// etc
因为这样的临时看起来有点奇怪,我只是想询问是否有人可以解释什么是这种方式构建对象的优缺点?我只想去寻找const对象 - 我错过了什么?
你可以选择一个更好的例子。
使用参考变量将是几个优点:
1)裁判名称可能增加一些含义/文档的代码。例如:
const QString& protocol_start("ABC1RQA666T");
字符串“ABC1RQA666T”是毫无意义的,但protocol_start可以多加线索,以什么字符串代表。
2)如果引用被多次使用,那么使用引用可能会更方便。
3)使用该参考是相当'便宜',因为毕竟它只是一个别名。
但是在某些代码中,您可能会看到ref不会多次引用的情况,ref名称会添加一些额外的文档值,所以在这些情况下它并不那么有用。
如果需要的话,总是可以使'temp'成为一个值并通过const引用传递它。 – AMA
_the评论code_ - 这是什么意思? – 2017-08-24 10:28:26
'代码审查期间' - 对措辞表示歉意 - 更新了说明。 – ARA
要问的正确的人是编写代码的人。如果他们不能证明为什么它是这样写的,那么很明显它应该不能通过审查。 – UKMonkey