【发布时间】:2016-05-04 11:49:27
【问题描述】:
我想为表或二维数组的所有元素设置一个默认的非零值。 array[size]={12} 将第一个元素设置为 12,其他元素连续为 0。但是 fill(array,array+size,12) 仅将所有元素设置为 12。我无法将其应用于2d 数组。有什么方法可以使用 fill() 或任何无需使用 double for 循环直接初始化的方法
#include <iostream>
#include<algorithm>
#include<vector>
#include<stdlib.h>
using namespace std;
int main()
{
int arra[10][10];//declare 2d array
for(int k=0;k<10;k++)//takes k's value 10 for 10 rows
fill(arra,arra+10,45);//select a row and set all columns to 45 didn't work
}
数组初始化 http://www.fredosaurus.com/notes-cpp/arrayptr/array-initialization.html
【问题讨论】:
-
你最好使用memset()。
-
不要使用原始数组。