我對以下案例有懷疑; 假設我想定義一個矢量矢量到acomadate元素集,我可以添加數據並可以使用這些元素來計算其他東西。那麼我不想要那個矢量了。然後,假設如果我想把另一組數據作爲向量的向量,那麼我可以重新使用先前創建的變量,然後;矢量優化 - 簡單的方法
(1)如果我創建矢量作爲動態存儲器的矢量和刪除,
vector<vector<double> > *myvector = new vector<vecctor<double> >;
//do push back and use it
delete myvector;
,然後再次重新使用
(2)如果我創建矢量的矢量作爲簡單地
vector<vector<double> > myvector;
//do push back and use it
myvector.clear();
然後再次使用
但是,我猜在這兩種方法很少有內存是重新儘管我們已經刪除了它,所以,我想知道定義矢量矢量的有效方法是什麼。
(3)如果內部矢量的大小始終是2,則是它仍然有效的通過定義
其他vector<vector<double> > myvector(my_list.size(), vector<double>(2))
比另一個容器類型使用矢量的 矢量
(4),如果我使用預定義的另一個類保持內部2組的元素,然後把這些對象類型的載體作爲(例如XY是可容納2種元素的類,可以是作爲陣列)
vector<XY>;
我希望,請人COM告訴我什麼是最有效的方法(從1到4)需要的速度和內存的中間。有沒有更好的方法,請告訴我。感謝
「std :: array」是C + + 0X/11。 – Xeo 2011-06-05 11:04:16
我會改變它。 – ronag 2011-06-05 11:15:33