仅第一个元素init为1
Only first element init as 1
我有一个数组,例如:
int M[10] = { 1 };
我期望m [0] 〜m [9]都会填充1,但是当我将它们打印出来时,只有m [0]是1,其他是0。
这是一个常见的误解。通常,您会看到人们写这样的东西
int m[10] = { 0 };
"初始化所有元素到 0
";但是,实际上,仅将第一个元素初始化为 0
,其余的默认初始化(至0,这就是为什么起作用的原因(。真的,他们只能写int m[10] = {};
您遇到了相同的问题:您仅将第一个元素定为1
,然后将其余的默认为0
。您可以指定所有参数,也可以使用std::fill
:
int m[10] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
int n[10];
std::fill(std::begin(n), std::end(n), 1);
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 仅第一个元素init为1
- 为什么只有一个元素的支撑init列表的类型会切换到元素本身的类型
- 使用支撑的init列表在向量中插入新元素