配列の境界をチェックする非常に高速な方法が必要です。私の現在のチェック境界は次のとおりです。
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];
}
}
インデックスが配列の範囲外にあるかどうかを確認するより速い方法はありますか?
編集:
私の解決策は、負のインデックスで問題を起こすことです。これを修正する方法はありますか?