【发布时间】:2013-04-07 02:56:33
【问题描述】:
我有一个简单的类用于存储传感器数据,可以概括为
class Data
{
public:
Data(){timestamp = Time::now(); id = sNextID++; data = 0; type = DATA_TYPE_UNKNOWN;}
double data;
Time timestamp;
DataType type;
private:
static unsigned int sNextID;
};
我有一个头文件,它声明了一堆类似的数据类。鉴于类的简单性,不需要实现 cpp 文件。
问题是,没有实现文件如何初始化sNextID?我在某处读到它默认为 0,这很好,尽管依赖它似乎有点骇人听闻。更重要的是,如果没有在某个地方初始化它,链接器会抱怨未定义的引用。
【问题讨论】:
标签: c++ static-members