如何在头文件中的结构中初始化和分配数组的内存?

时间:2012-01-18 00:37:25

标签: c++ arrays struct new-operator

我的问题是这样的,struct data

中有一个test.h
struct data {
static int year[10];
static int month[12];
static int day[31];
};

在Cpp文件中,我有几个需要调用它的函数。我应该在哪里以及如何初始化它?

void test::display(){
     struct data pointer;
     /* ... */
     // These three arrays should be initialized
     pointer.year[index1] = Timeyear;
     pointer.month[index2] = Timemonth;
     pointer.day[index3] = Timeday;
     printf("%d %d %d", pointer.year[index1],
         pointer.month[index2], pointer.day[index3]);
     /* ... */
}

2 个答案:

答案 0 :(得分:3)

你似乎在C和C ++之间非常困惑。

printf?这不好。特别糟糕。 struct data pointer?放弃struct

另外,如果你想初始化它,只需使用构造函数

答案 1 :(得分:0)

我认为你的问题已经由STL处理了。

您应该了解有关std :: time_t对象

的更多信息

另见:

String representation of time_t?

How to get a local date-time from a time_t with boost::date_time?

time_t conversion format question