众所周知,在C语言中,关键字static
有多种含义。 C99还增加了合法编写的可能性。
void foo (int arr[static 50])
{
// ...
}
这增加了混淆,而且C++有静态成员变量和函数。
如果所有用法可以以某种方式连接起来,那么这不会那么麻烦,但我发现对于某些情况很难找到这种连接。特别是为什么应该使用static
关键字来修改可见性(链接),或者它与数组的最小元素数量有什么关系。
那么,滥用static
关键字是否有历史原因,或者在幕后是否存在将其所有用法连接起来的秘密联系?