在以下示例中:
template<typename Type, unsigned int Size>
class MyClass
{
public: inline Type& operator[](const unsigned int i)
{return _data[i];}
public: inline const Type& operator[](const unsigned int i) const
{return _data[i];}
protected: Type _data[Size];
};
const 和 non-constoperator[]
是独立实现的。
就设计而言,最好有:
- 1)像这里的两个独立实现
- 2) 两个函数之一调用另一个函数
如果解决方案 2) 更好,给定示例的代码是什么?