如果可以,怎么做?这个问题有道理吗?
在我的例子中,调用者修改返回的对象是没有意义的,所以我想将其标记为不可修改。
最佳答案
const MyClass foo();
是有效的,但返回一个 const 值没有意义 - 它无论如何都会被复制。
您可以返回例如const 引用:const MyClass & foo();
也是完全有效的。不过,这不会阻止用户制作拷贝。
如果您正在考虑 const MyClass * foo();
那么 const 更有意义 - 用户将无法修改指向 MyClass
的实例.
关于c++ - 非成员函数是否可以返回 const 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689366/