最近在寫游戲,就以地圖類模版為例說明如何模擬多維數組吧!
public:
const UINT m_ROW_NUM; // 地圖網格行數
const UINT m_COL_NUM; // 地圖網格列數
private:
vector<T_CELL_STYLE> _m_map_data; // 存放地圖數據
}; /* class CMap */
雖然不能直接實現一對下標操作符重載,但是我們可以間接模擬。
思路是這樣的,先通過單下標操作返回一個具有下標操作能力的左值,對左值進行下標操作,兩個下標操作表達式聯立就實現了雙下標操作。先看如下示例:
這樣就得到了雙下標操作,看起來就像操作二維數組。好了,讓我們來看一下如何重載。
|
新聞熱點
疑難解答
圖片精選