C++中 array所有元素初始化为-1 怎么实现?

C++中 array所有元素初始化为-1 怎么实现?在a = new int[cap]; 的时候可以直接初始化每一个元素的值嘛?

4个回答

可以用int a = new int[5]{1,2,3,4,5}; int a[5]={1,2,3,4,5};初始化为同一个数字 楼上是正解,方便

xingjianfengaa
xingjianfengaa 回复u011356065: 或者你用动态数组的vector<int> vec(999,-1)这个比int[]好用 memset就是将数组的内存都变成某一个数字,可以的
大约 2 年之前 回复
xingjianfengaa
xingjianfengaa 回复u011356065:memset(a,-1,999*sizeof(int))
大约 2 年之前 回复
u011356065
有请事烧纸 回复xingjianfengaa: 我现在要做的是int *a = new int[999]; 怎么样不用foop 就直接初始化每一个元素等于-1呢?
大约 2 年之前 回复
u011356065
有请事烧纸 回复xingjianfengaa: 谢谢 如果是 dynamic array int * a = new int[5]{-1}; 这样的话 array 是(-1,0,0,0,0) 还是(-1,-1,-1,-1,-1)?
大约 2 年之前 回复
xingjianfengaa
xingjianfengaa int*a=new int[5]{1,2,3,4,5}上面写错了,一般不会用new这种方法
大约 2 年之前 回复

memset(数组, 0xff, 长度 * sizeof(int))

memset(aa, -1, sizeof(int) * MAX_COUNT);

int iSize = 100;
int *array = new int[iSize]
memset(array, -1, sizeof(int) * iSize)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐