C++ 我可以在无循环c+的numper数组中向元素范围添加一个数字吗+;
我想给数组中的元素范围添加一个常量值,而不需要对它们进行迭代,我可以这样做吗 例如:C++ 我可以在无循环c+的numper数组中向元素范围添加一个数字吗+;,c++,C++,我想给数组中的元素范围添加一个常量值,而不需要对它们进行迭代,我可以这样做吗 例如: int arr[5] = {1, 2, 3, 4, 5}; add_certain_val(arr, 0, 4, 2); // now arr == {3, 4, 5, 6, 7}; 通过单独指定每个元素,可以在不使用循环的情况下执行添加: int array[] = {1, 2, 3, 4, 5}; array[0] += 2; array[1] += 2; array[2] += 2; array[3]
int arr[5] = {1, 2, 3, 4, 5};
add_certain_val(arr, 0, 4, 2);
// now arr == {3, 4, 5, 6, 7};
通过单独指定每个元素,可以在不使用循环的情况下执行添加:
int array[] = {1, 2, 3, 4, 5};
array[0] += 2;
array[1] += 2;
array[2] += 2;
array[3] += 2;
array[4] += 2;
我们讨论的是语义,它是否是迭代
但是,本例中没有使用指针或迭代器
没有向向量(数组)添加标量的高级函数。您可以找到具有这些操作的库
一些处理器可能有指令,可以向数组中添加标量值,但是C++语言没有这种功能。p> 如果不重复它们,这是不可能的。你尝试了什么?什么不起作用?是的,有些东西,必须在某个地方迭代它们。你可以欺骗和使用它们。仍然有一个循环,但它是隐藏的。那么您的意思是您将始终更改该数组的最后一个值?您可以通过
arr[4]
访问它,而无需迭代。正如@NathanOliver所述,可以通过std::transform
()进行访问,但在某个时刻迭代正在发生。