最近在写游戏,就以地图类模版为例说明如何模拟多维数组吧!
public:
const UINT m_ROW_NUM; // 地图网格行数
const UINT m_COL_NUM; // 地图网格列数
private:
vector<T_CELL_STYLE> _m_map_data; // 存放地图数据
}; /* class CMap */
虽然不能直接实现一对下标操作符重载,但是我们可以间接模拟。
思路是这样的,先通过单下标操作返回一个具有下标操作能力的左值,对左值进行下标操作,两个下标操作表达式联立就实现了双下标操作。先看如下示例:
这样就得到了双下标操作,看起来就像操作二维数组。好了,让我们来看一下如何重载。
新闻热点
疑难解答
图片精选