3

我的意思是我们可以将 C 中的函数声明为 const

void fun(int iVar) const;

int g_var = 1;

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

1 回答 1

15

不是在标准 C 中,因为没有类或对象(如在“类实例,即具有关联函数的数据集合”中),函数没有什么可以const“反对”的。

理论上可能有这样一种表示法来表示“这个函数没有全局可见的副作用,它是其输入参数的纯函数”,但没有。

作为扩展, GNU GCC 编译器支持将函数声明为constor pure

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

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

于 2013-08-22T08:40:47.403 回答