2015-09-20 58 views
-5

我想創建一個整型靜態數組的類,但我不知道爲什麼需要聲明該屬性(指向整型對象「int * mem」)的指針以及它的函數在此上下文中的位置。我不知道,例如,如果它需要可以訪問陣列位置或知道數組元素的位置...爲什麼我需要將此指針作爲屬性?

這裏是我的一段代碼:

#ifndef STATICARRAY_H 
#define STATICARRAY_H 

class Staticarray { 
int size; 
int *mem; 
}; 
#endif 
/* STATICARRAY_H */ 
+0

爲什麼不使用'的std :: vector''? –

+0

如果它是一個靜態數組,則不需要指針。我檢測到[X-Y問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你想用這個對象做什麼? – user4581301

+0

你問如何創建一個數組?或者是其他東西?你正在使用哪一本C++書? –

回答

0
  1. int *mem;是指向內容的指針Staticarray
  2. 您應該分配足夠的內存來保存內容,例如mem = new int[size];
  3. 記得在Staticarray的析構者處刪除mem,例如, delete[] mem;
  4. 要訪問稱爲Staticarray對象的第i個元素arr會使用arr.mem[i];
+1

不好的建議。我們不做手動內存管理;沒有自1998年以來。 –

+0

我不打算提供建議,但回答具體問題。順便說一句,包括我在內的很多人都有*即使在今天也在使用C++進行手動內存分配。當然,它從來沒有計劃過! –

+0

不,你不知道 –

相關問題