gpt4 book ai didi

c++ - C++ 中的内联函数

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

你好,

我是 C++ 的新手。我确实阅读了有关内联函数的内容并正确理解了它们。但是this网站说“如果我们在一个 .cpp 文件中编写内联函数的定义并从另一个文件调用它,我们会收到‘ Unresolved external ’错误……为什么会这样……?这可以用于正常功能,正确...如果我错了请纠正我...

谢谢

最佳答案

这是语言要求。 inline 意味着您可能在多个翻译单元中定义了函数,但定义必须相同并且您必须在每个使用该函数的翻译单元。

这是规则。规则允许(但不要求)编译器在每个调用点扩展inline 函数的代码,并忽略发出可调用函数版本。

这与非内联 函数不同,后者只能在所有翻译单元中定义一次。这是适用于 C++ 中大多数实体的常用“单一定义规则”。

inline 不会改变函数的链接。默认情况下,inline 函数具有外部链接,因此如果您在 inline 函数中使用 static 变量,则实现必须确保只有一个程序中该变量的拷贝。

关于c++ - C++ 中的内联函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3540931/

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