<分区>
Possible Duplicate:
How do I remove code duplication between similar const and non-const member functions?
我的任务是实现 C++ vector 模拟。我为 2 个案例编写了 operator[]。
T myvector::operator[](size_t index) const {//case 1, for indexing const vector
return this->a[index];
}
T & myvector::operator[](size_t index) {//case 2, for indexing non-const vector and assigning values to its elements
return this->a[index];
}
如您所见,代码完全相同。对于这个例子(只有一个代码行)来说这不是问题,但是如果我需要为 const 和非 const case 实现一些运算符或方法并分别返回 const 或引用值,我该怎么办?每次更改代码时只需复制粘贴所有代码?