c++ - 有没有一种快速的方法可以只使用一种元素来制作向量的向量?
问题描述
所以我想制作一个向量的向量,每个向量中有 5 个元素,第一个向量中有 4 个向量。我想让所有的元素都是假的。
我可以:
vector <vector<bool> > a;
for(int i=0; i<4; i++){
vector<bool> tmp;
for(int i=0; i<5; i++){
tmp.push_back(False);
a.push_back(tmp);
但是有没有更快的方法来做到这一点?
解决方案
使用构造函数
#include <vector>
int main() {
std::vector<std::vector<bool>> a(4, std::vector<bool>(5, false));
}
使用 C++17,您甚至不需要类型(wandbox):
#include <vector>
int main() {
std::vector a(4, std::vector(5, false));
}
推荐阅读
- javascript - javascript - 导出默认类型
- github - 如何在不破坏分叉或 PR 的情况下将带有分叉的公共回购变成私人回购?
- excel - 如何从混合 Excel 单元格中提取带前导零的数字?
- terraform - 是否可以使用 terraform provider vsphere 克隆现有的 VM(不是模板)
- objective-c - iOS 允许原生 html5 播放器进入横向模式
- button - 将用户鼠标移动到确定/取消按钮的好习惯?
- cron - 如何最好地将数据/RSS 提要添加到 MongoDB Atlas 服务器?
- javascript - JS:在创建闭包时,如果我不存储为变量,内部函数如何访问外部函数参数?
- apache-kafka - Kafka Producer API - onCompletion
- python - 从套接字数据转换为 numpy 数组