创建全局结构数组

时间:2018-02-09 04:50:39

标签: c++ arrays struct

对于我正在研究的项目,我需要有一个全局的入口结构数组。我遇到了麻烦,因为在运行我的程序之前我无法分配内存我确定了文件的大小。该项目的总体目标是创建一个单词参考。到目前为止我的工作方式是:

struct info{
   //stores the specific character
   std:: string c;
   //stores the amount of times a word has come up in the file
   float num;
}
info info_store[];

这个项目是为了学习数组,所以我需要使用数组

2 个答案:

答案 0 :(得分:1)

你可以:

- 使用new / delete []

info* p_array=new info[100];  // create an array of size 100

p_array[10].num;  // member access example

delete[] p_array; // release memory

- 使用std :: unique_ptr

std::unique_ptr<info[]> array(new info[size]);

- &GT;优点是当array被销毁(不再删除[])

时,您的内存会自动释放

答案 1 :(得分:0)

首先,使用std::vector或任何其他STL容器。

其次,您可以使用动态数组。

auto length = count_structs(file);
auto data = new info[length];

像这样的东西。然后填写这个数组。

哦,确保你有delete [] data来防止内存泄漏。