c++ - 非成员函数是否可以返回 const 值?

标签 c++ constants

如果可以,怎么做?这个问题有道理吗?

在我的例子中,调用者修改返回的对象是没有意义的,所以我想将其标记为不可修改。

最佳答案

const MyClass foo(); 是有效的,但返回一个 const 值没有意义 - 它无论如何都会被复制。

您可以返回例如const 引用:const MyClass & foo(); 也是完全有效的。不过,这不会阻止用户制作拷贝。

如果您正在考虑 const MyClass * foo(); 那么 const 更有意义 - 用户将无法修改指向 MyClass 的实例.

关于c++ - 非成员函数是否可以返回 const 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5689366/

相关文章:

c++ - 如何使用def文件在de dll中使用mfc

c - 声明和定义相互引用的初始化常量结构的最佳方法

c++ - char const * const * - <错误读取字符串的字符>

delphi - 如何在不更改库文件的情况下修改Delphi库文件中的常量?

c++ - 如何在函数中返回一个 const char*?

c++ - 如何在 C++ 中的 const 覆盖函数中调用非 const 函数

python - Pybind11 用于 C++ 代码,内部结构通过静态工厂方法创建

c++ - 如何使用继承定义父类的函数?

c++ - 如何在 Windows 中的特定显示器上打开一个窗口?

c++ - 在 C++ 中是否有强大的保证交换的工具