C中是否有const函数?

时间:2013-08-22 08:38:48

标签: c function const

我的意思是我们可以在C中声​​明一个像

这样的常量函数
void fun(int iVar) const;

int g_var = 1;

void fun(int iVar)
{
  //do some thing
  g_var = iVar;
}

1 个答案:

答案 0 :(得分:14)

不在标准C中,因为没有类或对象(如“类实例,即具有相关函数的数据集合”),该函数没有任何内容可以const“反对”。

理论上可以有这样的符号表示“这个函数没有全局可见的副作用,它是输入参数的纯函数”但是没有。

GNU GCC编译器支持as an extension,将函数声明为constpure

int square(int) __attribute__((pure));

__attribute((pure))部分是特定于GCC的。