使用const reference和const variable

时间:2019-04-03 21:51:51

标签: c++

我必须使用常量文字字符串来命名窗口。这些名称将在任何地方被引用,因此我需要将它们与变量一起缓存。我的问题是

是否需要按以下说明将变量声明为const引用

const string& srcWnd = "Source Window";

代替

const string srcWnd = "Source Window";

有什么区别吗?

1 个答案:

答案 0 :(得分:2)

我没有发现两者之间有任何显着差异,但是我建议使用普通的string(选项2):

const string srcWnd = "Source Window";

通过引用您不会赢得任何奖励。而且,如果您使用引用,则代码会变得更加晦涩难懂,因为使用引用会依赖temporary lifetime extension。如果某人没有清楚地记住生命周期扩展规则,则可能需要查找它们以确保代码有效。