c++ - 函数原型(prototype)中的 const

标签 c++

如果我们有这样一个函数原型(prototype):

const CString function(...)
{
CString x;
//do some stuff
return x;
}

这是否意味着该函数返回一个 const CString ?因为 C++ 中的 const 可以放在类中方法的前面,告诉编译器属性不会被修改(或不可变)

我问这个“愚蠢”的问题,因为在另一种情况下我们可以有这样的事情:

static CString function(...)
{ }

在这种情况下,static 与“函数”相关,而不与返回的变量相关。

最佳答案

在 C++ 中,const return_type function_name(params) 表示您有一个返回 const return_type 的函数。如果您有 static return_type function_name(params),那么这会将函数标记为静态,您不再需要类的实例来调用此函数。如果您想将函数标记为 const 意味着它不会修饰类内容,那么您需要将 const 放在函数之后作为

return_type function_name(params) const
                                  ^^^^^

关于c++ - 函数原型(prototype)中的 const,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34158544/

相关文章:

C++:函数中的静态变量声明

c++ - 应用程序可以吸收鼠标点击(即使它没有聚焦)吗?

c++ - 从 C++ 文件中读取特定行

c++ - 在 2 个 Sprite 上运行 2 个 CCSequence 的第二个 Sprite 不会执行 Action

c++ - 设置C++中的默认浮点打印精度

c++ - 从 QML 访问使用 setProperty 设置的属性

c++ - 从 MFC 应用程序将图像文件流式传输到 HTML 页面

c++ - 关于 C/C++ 编译器优化,我可以假设什么?

C++ HelloWorld 打印不正确

c++ - 将输入 txt 文件中比单个单词长的字符串存储到两个单独的数组中