[英]Understanding C++ Pointers and Memory Allocation
現在我有一個這樣的指針:
int * modes = new int[1000];
我想這樣做,所以當我檢查條件時,我可以刪除它的內容並再次將其清空以添加新內容。 我不能使用向量或 c++ 等價於 ArrayList 的任何東西。
目前要做到這一點,我有:
delete [] modes;
modes = new int[1000];
我在想的是,第一行從數組中刪除了 memory(它包含的元素?),第二行指向我可以使用的新 memory。 這是指針的工作方式嗎? 或者我是否可以在刪除 modes 變量后不再使用它?
另外我不能只創建一個新指針,因為這發生在 for 循環中,所以它不會在 scope 中,對嗎? (我想在循環結束后從外部訪問模式指針)
基本上,我如何刪除指針數組的內容,但仍能像剛創建時一樣使用它?
編輯:只是想說我的程序看起來確實有效,但我只是想知道我是否會導致 memory 問題以及是否有更好的方法(特別是指針數組)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.