CMap
声明类型:template< class KEY, class ARG_KEY, class VALUE, class ARG_VALUE >class CMap : public CObject
ARG_KEY类型,是为了在CMap方法调用的时候,使用引用而非传值。
实例:
CMap::RemoveKey
BOOL RemoveKey( ARG_KEY key );
赋值实例:
CMap<int, int, CPoint, CPoint&> myMap;
// Add 10 elements to the map.
for (int i = 0; i < 10; i++)
{
myMap.SetAt(i, CPoint(i, i));
}
取值实例:
CMap<int,int,CPoint,CPoint&> myMap;
int i;
myMap.InitHashTable(257);
// Add 10 elements to the map.
for (i=0;i < 200;i++)
{
myMap[i] = CPoint(i, i);
}
// Remove the elements with even key values.
CPoint pt;
for (i=0; myMap.Lookup(i, pt) ;i+=2)
{
myMap.RemoveKey(i);
}
关于CMap::operator [ ]
VALUE& operator[]( ARG_KEY key );
只能用于左值(l-value),即只能用来赋值,而不能用来取值,取值需要使用Lookup方法。