类静态字段声明顺序

时间:2017-03-17 15:37:09

标签: c++

我正在尝试编写简单的logger类,我最终得到了单例类设计。示例如下:

DataIO.h:

class DataIO
{
private:
   static DataIO instance;
public:
   static time_t date;
   static std::string path;
   static FILE* log;

private:
   DataIO()
   { 
      date = time(NULL);
      path = "#Output_" + std::to_string(date);
      std::string buffer = "mkdir " + path;
      system(buffer.c_str());
   };
   ~DataIO();
public:
   static DataIO getInstance() const { return instance; };
   static void restart();
};

DataIO.cpp:

time_t DataIO::date;
std::string DataIO::path;
FILE* DataIO::log;

DataIO DataIO::instance;

我对静态字段中的订单有任何保证会被初始化吗?通常我知道我没有... ... 但在这种情况下,我的DataIO构造函数要求在调用构造函数之前必须声明这三个静态字段。 因此它是否会强制执行静态字段的命令?

0 个答案:

没有答案