如果我们有这样一个函数原型(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/