首页 > 后端开发 > C++ > 如何在 C 中有效地初始化 2D std::vector ?

如何在 C 中有效地初始化 2D std::vector ?

Linda Hamilton
发布: 2024-12-02 22:52:14
原创
887 人浏览过

How Can I Efficiently Initialize a 2D std::vector in C  ?

高效初始化二维 std::vector

初始化二维 std::vector 可能是一项繁琐的任务。一种常见的方法是手动创建行并将其附加到向量,如提供的代码所示。但是,此方法效率低下且容易出错。

另一种解决方案是利用 std::vector::vector(count, value) 构造函数。此构造函数接受两个参数:所需的行数和每行元素的默认值。通过为这些参数指定适当的值,我们可以在单个语句中初始化向量:

std::vector<std::vector<int>> fog(ROW_COUNT, std::vector<int>(COLUMN_COUNT)); // Defaults to zero initial value
登录后复制

如果需要非零的默认值,则可以将其指定为构造函数的第二个参数:

std::vector<std::vector<int>> fog(ROW_COUNT, std::vector<int>(COLUMN_COUNT, 4));
登录后复制

统一初始化

C 11 引入了统一初始化,提供了另一种简洁的方式初始化 2D 向量的语法:

std::vector<std::vector<int>> fog { { 1, 1, 1 },
                                    { 2, 2, 2 } };
登录后复制

此方法利用花括号来初始化向量内的行。每个内部大括号括起来的列表代表一行,每个元素都初始化为指定值。

通过使用这些技术,我们可以高效、优雅地初始化 2D std::vector,避免手动初始化的复杂性.

以上是如何在 C 中有效地初始化 2D std::vector ?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板