c++ - 但是我可以用哈希图(unordered_map)中的大小和值初始化该向量吗?
问题描述
所以,我可以很容易地初始化一个从 int 到向量的哈希图……
但是我可以用一个大小或者默认值来初始化那个向量吗?
例如:vector<int> a(2,0)
<--Size 和 values 已初始化 ....
那么有什么适合的吗?unordered_map<int, vector<int>>
解决方案
您可以像这样围绕向量创建一个包装器:
struct DefaultSizedVector{
DefaultSizedVector() : data{2, 0} {}
vector<int> data;
};
那么地图类型就是unordered_map<int, DefaultSizedVector>
这样(通过访问.data
成员)它就像一个向量,除了有一个默认大小。
您也可以DefaultSizedVector
直接从继承,vector<int>
以便它的行为与向量完全一样,但您必须小心,由于此处DefaultSizedVector
指出的原因,对的使用受到了相当大的限制。
推荐阅读
- c# - EditorFor 和 ApplyFormatInEditMode
- azure - 用于 VPN 的 Azure 静态 IP?
- java - 如何使用 dcm4che 从多个 JPEG 图像创建多帧 dicom 文件?
- python-3.x - 关闭后执行的 PyQt5 QDialog 代码
- javascript - 我的 Bubblesort 只能对数字进行排序。JavaScript
- d3.js - D3.js 将图表区域向右移动
- python - 使用 12 个给定个位数中的任意 8 个,以 MM/DD HH:MM 格式形成最大可能的日期时间
- android - 如何将水平 LinearLayout 放置在另一个水平 LinerLayout 之上?
- ios - iOS SiriKit 可以让 Siri 按命令播放音频片段吗?
- python-3.x - 如何用另一个大向量减去一个大向量?