C++将整数映射到布尔数组

Ra1*_*den 2 c++

我一直在尝试创建一个从整数到bool数组的映射.但是,以下代码似乎不起作用.

map<int, bool[]> myMap;
bool one[] = {true, true, false};
myMap[1] = one;
Run Code Online (Sandbox Code Playgroud)

我没有那么多使用数组,这里似乎有一些严重错误.有人能说出来吗?提前致谢.

das*_*ght 5

在a中存储这样的数组map是行不通的,即使你可以在语法上做到这一点:即使在真正的数组超出范围之后,数组也将保留在地图中.存储矢量bool应该工作:

map<int, vector<bool> > myMap;
vector<bool> one {true, true, false}; // C++11 syntax
myMap[1] = one;
cout << myMap[1][0] << endl;
cout << myMap[1][1] << endl;
cout << myMap[1][2] << endl;
Run Code Online (Sandbox Code Playgroud)

这是关于ideone演示.