我正在寻找有关如何做某事的示例,并看到了这两个变体:
std::string const &s;
const std::string &s;
在不同的片段中。
谢谢你的回答:)
原文由 Thomas Good 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在寻找有关如何做某事的示例,并看到了这两个变体:
std::string const &s;
const std::string &s;
在不同的片段中。
谢谢你的回答:)
原文由 Thomas Good 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
std::string const &
等价于const std::string &
。const std::string &
是Stroustrup的 The C++ Programming Language 中采用的风格,大概是“传统风格”。std::string const &
可以比替代方案更一致:(有关详细信息,请参阅 “X const& x”和“X const* p”是什么意思? )。
如果您决定使用 const-on-the-right 样式,请确保不要将
std::string const &s
错误地输入为无意义的std::string & const s
:上述声明的意思是:“
s
is aconst
reference to astd::string
”。这是多余的,因为引用总是const
(您永远不能重置引用以使其引用不同的对象)。