3

我可能会发疯,但我认为我从未在 C++ 中看到过这种情况(尽管我的参考代码是 C 语言)。为什么这里的代码返回值有静态,有什么影响?我认为我从未见过类范围之外的静态函数(但显然 C 没有类,这可能具有不同的语法含义)。

/* just like strlen(3), but cap the number of bytes we count */
static size_t strnlen(const char *s, size_t max) {
    register const char *p;
    for(p = s; *p && max--; ++p);
    return(p - s);
}

来自http://www.zeuscat.com/andrew/software/c/strnlen.c

4

1 回答 1

6

static不在返回类型上,而是在函数定义上

静态函数基本上没有外部链接,它们只对同一文件中的其他函数可见。

于 2012-01-16T18:02:16.617 回答