gpt4 book ai didi

C++ 函数原型(prototype)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:40 25 4
gpt4 key购买 nike

我刚刚开始学习 C++。有人可以解释以下 C++ 函数原型(prototype)之间的区别吗?

void f(int n);
extern void f(int n);
static void f(int n);

最佳答案

void 和 extern void 版本是一样的。它们表示函数具有外部链接(即函数的定义可能来自其他一些 C 或 C++ 文件)。 static 表示该函数具有内部链接,并且仅存在于当前 C++ 文件中。

您几乎从未见过将这些说明符应用于函数,因为 99.9% 的时间您需要默认的 extern 行为。

您可能会在全局变量上看到 staticextern 存储说明符,这通常是为了减少与同一项目中其他文件的名称冲突。这是 C 的遗留问题;如果您使用的是 C++,则应使用匿名命名空间而不是 static 来完成此类操作。

关于C++ 函数原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4370055/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com