我需要创建一个包含地图的地图,该地图有一个地图作为值等.
我想问一下,在最大复杂性方面是否有限制.
我有这个 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));
哪里Spacedata是map<string,map<string,vector<double>>> Spacedata;
先感谢您
解决了:最后这是我的坏,一切都是正确的,除了VS中的调试器卡住并且无法显示内容,可能是由于多维映射.
编译器是否对模板参数的数量或递归深度施加限制.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
如果您仍然遇到问题,请发布一个完整的测试用例来证明问题.
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |