Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C++中初始化动态创建的大整数数组到特定的整数?_C++_Arrays - Fatal编程技术网

如何在C++中初始化动态创建的大整数数组到特定的整数?

如何在C++中初始化动态创建的大整数数组到特定的整数?,c++,arrays,C++,Arrays,我创建了一个数组R,如下所示: int*R=新的int[n]; 其中n取一个较大的值,比如100000。我想把C++中的所有整数初始化为1。做这件事最好/最快的方法是什么?或者,在整个阵列中循环是唯一的选择吗 做这件事最好/最快的方法是什么 在C++中,你使用STD::向量RN,1;相反 如果您在其他地方需要int*,请参考R.data 您可以使用向量: std::vector<int> R(n, 1); 但是数组和循环是最好的朋友,以防你不能使用向量。尽管建议使用vector,因

我创建了一个数组R,如下所示: int*R=新的int[n]; 其中n取一个较大的值,比如100000。我想把C++中的所有整数初始化为1。做这件事最好/最快的方法是什么?或者,在整个阵列中循环是唯一的选择吗

做这件事最好/最快的方法是什么

在C++中,你使用STD::向量RN,1;相反

如果您在其他地方需要int*,请参考R.data

您可以使用向量:

std::vector<int> R(n, 1);
但是数组和循环是最好的朋友,以防你不能使用向量。尽管建议使用vector,因为手动释放由类处理。

您可以从STL:

std::fill(R, R + n, 1);
但我建议您使用std::vector:


不要使用memsetR,1,sizeofint*n,因为它为数组的每个字节而不是元素分配1。

@MatějPokornýmemset处理字节,它不是填充int数组的通用解决方案。
std::fill(R, R + n, 1);
std::vector<int> R(n, 1);