[英]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.