

好想這么做啊.....想讓一個key存盤多個value,想不到別的法子了,大佬求助!!1
uj5u.com熱心網友回復:
map<int, vector<int> > level; //這樣?
uj5u.com熱心網友回復:
#include <vector>
#include <map>
#include <iostream>
using namespace std;
int main() {
vector<int> vi0;
vector<int> vi1;
map<int,vector<int> *> mipv;
vi0.push_back(0);
vi0.push_back(1);
vi1.push_back(2);
vi1.push_back(3);
mipv[0]=&vi0;
mipv[1]=&vi1;
vector<int> *pvi;
pvi=mipv[0];
cout<<(*pvi)[0]<<endl;//0
cout<<(*pvi)[1]<<endl;//1
pvi=mipv[1];
cout<<(*pvi)[0]<<endl;//2
cout<<(*pvi)[1]<<endl;//3
return 0;
}
uj5u.com熱心網友回復:
以下代碼沒有問題,你出錯肯定是因為別的#include <map>
#include <vector>
using namespace std;
int main()
{
map<int, vector<int>> m;
vector<int> v;
v.push_back(1);
v.push_back(2);
m[0] = v;
}
uj5u.com熱心網友回復:
我記得 現在 >> > > 好像均可了,不知道他用的 c++ 編譯器版本
uj5u.com熱心網友回復:
11之后是可以了
uj5u.com熱心網友回復:
#include <vector>
#include <map>
#include <iostream>
using namespace std;
int main() {
vector<int> vi0;
vector<int> vi1;
map<int,vector<int>> mipv;
vi0.push_back(0);
vi0.push_back(1);
vi1.push_back(2);
vi1.push_back(3);
mipv[0]=vi0;
mipv[1]=vi1;
vector<int> vi;
vi=mipv[0];
cout<<vi[0]<<endl;//0
cout<<vi[1]<<endl;//1
vi=mipv[1];
cout<<vi[0]<<endl;//2
cout<<vi[1]<<endl;//3
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/276339.html
標籤:C++ 語言
上一篇:冒泡排序
