在c ++中std :: map中是否有最大数量的std :: map?

igo*_*tas -1 c++ vector map

我需要创建一个包含地图的地图,该地图有一个地图作为值等.

我想问一下,在最大复杂性方面是否有限制.

我有这个 std::map<string,std::map<string,std::map<string,vector<double>>>> BaselineData;

但即使我插入数据像这样的事情被插入BaselineData.insert(std::pair<string,map<string,map<string,vector<double>>>>("A String",Spacedata)); 哪里Spacedatamap<string,map<string,vector<double>>> Spacedata;

先感谢您

解决了:最后这是我的坏,一切都是正确的,除了VS中的调试器卡住并且无法显示内容,可能是由于多维映射.

Mik*_*our 5

编译器是否对模板参数的数量或递归深度施加限制.C++ 11建议限制至少1024 - 但这只是建议.在任何情况下,您的类型都不会接近合理编译器强加的任何限制.

当我将片段组装成测试用例时,您的代码对我有用:

#include <iostream>
#include <map>
#include <string>
#include <vector>
using namespace std;

int main() {
    std::map<string,std::map<string,std::map<string,vector<double>>>> BaselineData;
    map<string,map<string,vector<double>>> Spacedata;
    BaselineData.insert(std::pair<string,map<string,map<string,vector<double>>>>("A String",Spacedata));

    std::cout << BaselineData.count("A String") << '\n';    
}
Run Code Online (Sandbox Code Playgroud)

输出:1

演示:http://ideone.com/TqBeGA

如果您仍然遇到问题,请发布一个完整的测试用例来证明问题.