SSB*_*SSB 1 c++ arrays stdmap stdvector stdarray
我有一组地图:
std::array<std::map<double, double>, 8> freqMap;
Run Code Online (Sandbox Code Playgroud)
填充它时,我需要在不同的数组索引处向地图添加条目。我知道我可以创建 8 个不同的地图,填充它们,然后将它们添加到数组中,但是是否可以直接在数组中将条目附加到地图?
例如,我如何将着手添加的映射条目key5.0,val3.3至数组索引2,然后添加另一条目数组索引3,然后附加另一条目索引2再次等。
我也可以使用std::vector地图,但仍然看不到以这种方式添加条目的方法。
这是一个例子。我正在从文件中读取数据并想直接更新我的数据结构:
while (fin >> arrayIdx >> key>> val)
freqMaps[arrayIdx] = ??
Run Code Online (Sandbox Code Playgroud)
你可以简单地做:
while (fin >> arrayIdx >> key>> val)
freqMaps[arrayIdx][key] = val;
Run Code Online (Sandbox Code Playgroud)
例如,我将如何将键 5.0、val 3.3 的映射条目添加到数组索引 2
freqMaps[2][5.0] = 3.3;
Run Code Online (Sandbox Code Playgroud)
这是一个演示。
另外,请注意double在 a中使用as 键std::map不是一个好主意。