此问题已在此处有答案:
How to initialize static members in the header [duplicate](7个回答)
How can you define a static data member of a class template?(3个答案)
8天前关闭
我试图设计头只库,不幸的是需要有全局静态变量(无论是在类或命名空间)。
是否有任何方法或首选的解决方案,有全局静态变量,同时保持头部只有设计?
代码为here
此问题已在此处有答案:
How to initialize static members in the header [duplicate](7个回答)
How can you define a static data member of a class template?(3个答案)
8天前关闭
我试图设计头只库,不幸的是需要有全局静态变量(无论是在类或命名空间)。
是否有任何方法或首选的解决方案,有全局静态变量,同时保持头部只有设计?
代码为here
1条答案
按热度按时间yhxst69z1#
这里有几个选择。我想到的第一件事是C++允许在多个翻译单元中定义类模板的静态数据成员:
链接器将多个定义合并为一个。但是
inline
本身也能在这里提供帮助,这个解决方案要简单得多:您可以将此内联函数放入头文件中,并将其包含在许多翻译单元中。C++保证这个内联函数返回的引用总是指向同一个对象。确保函数具有外部链接。