如何将相同的int值设置为int数组

Eri*_*pir 0 c++ memset

我有一个变量:

unsigned int* data = (unsigned int*)malloc(height * width)
Run Code Online (Sandbox Code Playgroud)

我想为所有数组值设置相同的int.我不能使用memset,因为它适用于字节.

我怎样才能做到这一点?

Kon*_*lph 15

使用C++:

std::vector<unsigned int> data(height * width, value);
Run Code Online (Sandbox Code Playgroud)

如果需要将数据传递给需要指针的某些遗留C函数,则可以使用&data[0]&data.front()以明确定义的方式获取指向连续数据的指针.

如果你绝对坚持使用指针(但你没有技术理由这样做,我不会在代码审查中接受它!),你可以std::fill用来填充范围:

unsigned int* data = new int[height * width];
std::fill(data, data + height * width, value);
Run Code Online (Sandbox Code Playgroud)