我正在创建一个名为intArray的类。它的行为应该与std :: array相同,但只能使用整数。我在构造函数中遇到了一些问题,因为在给定尺寸的情况下,我需要用零填充数组。我是不是使用std ::数组,我只是想重新创建它。用整数填充自定义整数数组
我一直在思考有n个整数(其中n是固定数组大小),它们在内存中是连续的,还有一个指向第一个整数的指针,头...然后剩下的整数可以可以通过在头指向的数据的存储位置之后获得第i个存储单元来容易地访问。
基本上,我应该如何初始化/使用零填充其构造函数中的数组?
这是实现构造函数的有效方法吗?如果是这样,有没有更好的办法?如果不是,我该如何完成这项任务?
对不起,这是一个令人困惑的问题,只是评论,如果你需要任何澄清。
这里是我的构造迄今:
(不知道如何创建 'N' 独立地为整数)
intArray::intArray(size_t n){
intArray::size = n;
int num = 0;
intArray::head = num //head is an int*
//have no idea how to do this...
for(int i=0; i<n; i++){
&num + 1 = 0; //trying to set next value in memory to 0
//obviously not gonna work!
}//end loop
}//end of constructor
我非常感谢任何答案/评论。现在让我想想如果我错过了什么,谢谢!
你分配的内存?如果你把它分配在堆栈上,那么大小应该已经被修正了,你应该检查'n'是否太大。要填充一个数组,你可以使用'std :: fill_n'。 – cqdjyy01234
不,不知道该怎么做......感谢您的建议! – Ibrahim