将相同的值赋给数组中所有元素的方法

A method to assign the same value to all elements in an array

本文关键字:数组 元素 方法      更新时间:2023-10-16

我有一个包含50个元素的数组

int arr[50];

,我想把所有元素都设置为相同的值。我该怎么做呢?

无论你使用的是哪种数组,只要它提供了迭代器/指针,你都可以使用<algorithm>头文件中的std::fill算法。

// STL-like container:
std::fill(vect.begin(), vect.end(), value);
// C-style array:
std::fill(arr, arr+elementsCount, value);

(其中value是要分配的值,elementsCount是要修改的元素数量)

并不是说手工实现这样一个循环会很困难…

// Works for indexable containers
for(size_t i = 0; i<elementsCount; ++i)
    arr[i]=value;

使用std::vector:

std::vector<int> vect(1000, 3); // initialize with 1000 elements set to the value 3.

如果必须使用数组,则可以使用for循环:

int array[50];
for (int i = 0; i < 50; ++i)
    array[i] = number; // where "number" is the number you want to set all the elements to

或使用std::fill

作为快捷方式
int array[50];
std::fill(array, array + 50, number);

如果你想设置所有元素的数字是0,你可以这样做:

int array[50] = { };

或者,如果您谈论的是std::vector,则有一个构造函数,该构造函数接受vector的初始大小以及每个元素的设置值:

vector<int> v(50, n); // where "n" is the number to set all the elements to.

从c++ 20 ranges使用fill .

int arr[50];
std::ranges::fill(arr, 10);

所有50个元素的值都是10

for(int i=0;i<sizeofarray;i++)
array[i]=valuetoassign
using method

void func_init_array(int arg[], int length) {
  for (int n=0; n<length; n++)
   arg[n]=notoassign
}