espace作用域和class作用域。这在C++11上是正确的吗?+1@qdii:可能需要强调的是,不仅每个静态函数都有自己的静态变量、文本等,而且代码也会被复制(如果它没有内联),这会使二进制文件膨胀并影响性能(不太可能放在指令缓存中)它在C++11上是

espace作用域和class作用域。这在C++11上是正确的吗?+1@qdii:可能需要强调的是,不仅每个静态函数都有自己的静态变量、文本等,而且代码也会被复制(如果它没有内联),这会使二进制文件膨胀并影响性能(不太可能放在指令缓存中)它在C++11上是,c++,c,static,inline,C++,C,Static,Inline,espace作用域和class作用域。这在C++11上是正确的吗?+1@qdii:可能需要强调的是,不仅每个静态函数都有自己的静态变量、文本等,而且代码也会被复制(如果它没有内联),这会使二进制文件膨胀并影响性能(不太可能放在指令缓存中)它在C++11上是真的吗?+1@qdii:可能需要强调的是,不仅每个静态函数都有自己的静态变量、文本等,而且代码也会被复制(如果没有内联的话),这会使二进制文件膨胀并影响性能(不太可能放入指令缓存)C++中的规则是不同的。在C++中,一个内联< /Cord>函数


espace作用域和class作用域。这在C++11上是正确的吗?+1@qdii:可能需要强调的是,不仅每个
静态
函数都有自己的静态变量、文本等,而且代码也会被复制(如果它没有内联),这会使二进制文件膨胀并影响性能(不太可能放在指令缓存中)它在C++11上是真的吗?+1@qdii:可能需要强调的是,不仅每个
静态
函数都有自己的静态变量、文本等,而且代码也会被复制(如果没有内联的话),这会使二进制文件膨胀并影响性能(不太可能放入指令缓存)C++中的规则是不同的。在C++中,一个<代码>内联< /Cord>函数默认有外部链接,并且没有使用函数内部链接的限制。在C++中,只针对头的代码的首选用法只是“代码>内联< /代码>,具有隐含的外部链接。@阿尔夫。函数默认有外部链接,但它们不一定提供外部定义。听起来好像OP只希望它们的头文件库在C和C++中都可用,那么它们应该使用条件一致性来使用C++中的代码>静态< /代码>。C++中的规则确实不同。ODE函数默认有外部链接,并且没有使用函数内部链接的限制。在C++中,头文件代码的首选用法只是代码>内联< /代码>,具有隐含的外部链接。@阿尔夫:在C中,内联< /Cord>函数默认有外部链接,但它们不缺省。Say提供了一个外部定义。听起来好像OP希望他们的头库只在C和C++中使用,那么它们应该使用条件兼容来使用<代码>静态< /代码>。C中,作为对答案的最后一点的更新,对于C++ 17,可以在变量上使用<代码>内联< /代码>,以确保它具有。跨翻译单元只有一个实例。作为对答案最后一点的更新,从C++17开始,您可以对变量使用
inline
,以确保它跨翻译单元只有一个实例。