簡體   English   中英

創建一個全局結構體數組

[英]Creating a global array of structs

對於我正在從事的項目,我需要具有一個全局的入口結構數組。 不過,我遇到了麻煩,因為在運行程序之前,我無法確定內存的大小,除非我確定文件的大小。 該項目的總體目標是創建單詞參考。 到目前為止,我正在做的是:

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[];

這個項目是要學習數組,所以我需要使用數組

您可以:

-使用新/刪除[]

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]);

->優點是,銷毀array時,內存會自動釋放(不再需要delete [])

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

其次,可以使用動態數組。

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

這樣的事情。 然后只需填充此數組。

哦,請確保已delete [] data以防止內存泄漏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM