h文件C+中的静态变量+;模板库。可以吗? 我开发了轻量级解析器作为C++ H-文件模板库。

h文件C+中的静态变量+;模板库。可以吗? 我开发了轻量级解析器作为C++ H-文件模板库。,c++,static,extern,C++,Static,Extern,Gramma在特定的类似BNF的表示法中描述,在某些类上使用重载运算符,这些类应该以某种方式枚举。我只需要一个全局变量作为执行它的计数器 我不想使用extern-int-var和int-var在cpp文件中,因为我所有的东西都在一个头文件中,现在用户只需要包含它 我可以声明静态int-var在头文件中,但此变量的副本显示在包含我的头文件的所有对象文件中 模板库可以吗? 有什么建议吗?如前所述,您可以使用单例模式。 此版本不需要在模板cpp文件中定义静态成员 template <typena

Gramma在特定的类似BNF的表示法中描述,在某些类上使用重载运算符,这些类应该以某种方式枚举。我只需要一个全局变量作为执行它的计数器

我不想使用
extern-int-var和
int-var在cpp文件中,因为我所有的东西都在一个头文件中,现在用户只需要包含它

我可以声明
静态int-var在头文件中,但此变量的副本显示在包含我的头文件的所有对象文件中

模板库可以吗?
有什么建议吗?

如前所述,您可以使用单例模式。 此版本不需要在模板cpp文件中定义静态成员

template <typename T> class Tmpl
{
public:
    static Tmpl<T>& GlobalInstance()
    {
        static Tmpl<T> m_Singleton;
        return m_Singleton;
    };
};
模板类Tmpl
{
公众:
静态Tmpl和GlobalInstance()
{
静态Tmpl m_单态;
返回m_Singleton;
};
};

谢谢!这个主意行得通!