【发布时间】:2011-04-27 09:36:51
【问题描述】:
在编写具有传递给它的 args 的 C++ 函数时,根据我的理解,如果您可以保证对象不会被更改,则应始终使用 const;如果指针不会更改,则应始终使用 const 指针。
什么时候建议这种做法?
什么时候使用 const 引用?例如,与仅通过指针传递它相比有什么优势?
void MyObject::Somefunc(const std::string& mystring) 这个void MyObject::Somefunc(const std::string& mystring) 如果一个字符串实际上已经是一个不可变对象,那么拥有一个 const 字符串有什么意义?
【问题讨论】:
-
原因 1:字符串不是不可变的。原因 2:能够传递字符串文字或 c 字符串或右值。如果您通过简单的引用,则不会应用任何转换,也不能将临时对象作为参数传递