我必须用常量字符串来命名窗口。这些名称将在任何地方被引用,所以我需要用变量来缓存它们。我的问题是
我是否需要将变量声明为常量引用,如下所示
const string& srcWnd = "Source Window";
代替
const string srcWnd = "Source Window";
?
有什么区别吗?
最佳答案
我没有发现两者之间有任何显着差异,但我建议使用普通 string
(选项 2):
const string srcWnd = "Source Window";
您不会通过引用赢得任何东西。如果您使用引用,代码将变得更加晦涩,因为通过使用引用,您依赖于 temporary lifetime extension .如果有人没有清楚地记住生命周期延长规则,他们可能需要查找这些规则以确保代码有效。
关于c++ - 使用 const 引用与 const 变量声明常量文字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55504881/