我应该在cpp文件中定义静态内联方法吗?

问题描述 投票:0回答:1

作为对问题Should I define static inline methods in header file?的跟进

如果我在两个单独的具有相同签名的cpp文件中具有两个辅助函数,则编译器将抱怨ODR。因此,在cpp文件static中提供免费功能以避免名称冲突并减少链接程序的工作量是一种好风格吗?

更普遍的问题:在cpp文件中制作自由函数inlinestaticstatic inline有什么优点和缺点?

c++ static inline
1个回答
1
投票

对于这样的功能,请使用匿名名称空间

namespace {
    // your function here
}

这样,它只限于该翻译单元,而对链接程序不可见。

© www.soinside.com 2019 - 2024. All rights reserved.