【发布时间】:2009-11-01 23:50:31
【问题描述】:
只是一个快速的语法问题。我正在写一个地图类(学校)。
如果我定义以下运算符重载:
template<typename Key, typename Val> class Map {...
Val* operator[](Key k);
当用户写作时会发生什么:
Map<int,int> myMap;
map[10] = 3;
这样做只会覆盖 Key k 处的 [null] 指针的临时副本。是否可以这样做:
map[10] = 3;
printf("%i\n", map[10]);
使用相同的运算符重载?
【问题讨论】:
标签: c++ map operators operator-overloading