[問題] vector 動態二維宣告

看板C_and_CPP (C/C++)作者 (嘿嘿嘿)時間15年前 (2011/01/14 03:01), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) DEV C++ 問題(Question): vector<vector<int> >x(2,vector<int>(2)); 這樣可以宣告出一個兩個row且每個row都存兩個integer為0的值 但如果我先宣告vector<vector<int> >x; 之後拿到參數再給他二維的兩個空間跟值嗎? 例如 (1) vector<vector<int> >x; vector<int>v; x.reserve(2); x.push_back[v]; x[0].push_back(0); x[1].push_back(1); 這樣compiler會過 但是會overflow (2) vector<vector<int> >x; vector<int>v; x.reserve(2); x.push_back[v]; x.push_back[v];//給兩次就不會有錯 x[0].push_back(0); x[1].push_back(1); 我想請問如果要像(2)這樣宣告 除了用for loop以外還有更有效率的方法嗎 還是乾脆用pointer比較方便? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.99.241

01/14 03:03, , 1F
現在是半夜三點耶... x.resize(2)
01/14 03:03, 1F

01/14 03:06, , 2F
P.S. 就不用 push_back 了
01/14 03:06, 2F

01/14 14:47, , 3F
#1DAoHP7Y 二維 vector 我是這樣用,不知道會不會好點。
01/14 14:47, 3F
文章代碼(AID): #1DBqluVx (C_and_CPP)
文章代碼(AID): #1DBqluVx (C_and_CPP)