2015-09-20 56 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

不,你不知道 –

相关问题