我需要一种非常快速的方法来检查数组的边界。我目前的检查范围是:
template<typename T>
class SmartArray {
//...
int size;
T* array;
T &operator[](int index) {
if (index/size!=0)
throw OUT_OF_RANGE; //#define OUT_OF_RANGE 0x0A
return array[index];
}
}
有更快的方法来检查索引是否超出数组范围?
编辑:
我的解决方案是用负索引制造麻烦。有办法解决这个问题吗?