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