我的意思是我们可以在C中声明一个像
这样的常量函数void fun(int iVar) const;
int g_var = 1;
void fun(int iVar)
{
//do some thing
g_var = iVar;
}
答案 0 :(得分:14)
不在标准C中,因为没有类或对象(如“类实例,即具有相关函数的数据集合”),该函数没有任何内容可以const
“反对”。
理论上可以有这样的符号表示“这个函数没有全局可见的副作用,它是输入参数的纯函数”但是没有。
GNU GCC编译器支持as an extension,将函数声明为const
或pure
:
int square(int) __attribute__((pure));
__attribute((pure))
部分是特定于GCC的。