Mic*_*ick 3 c++ pointers overloading member operator-keyword
在C++中我可以重置操作符的函数指针吗?
特别是我想设置成员函数operator []来使用(或不使用)边界检查.我试了这个没有运气:
这甚至可能吗?如果是这样,任何人都可以更正语法吗?
在MyArrayClass.h中:
class MyArrayClass {
public:
bool CheckArrayBounds;
float BoundsCheck(int i) {
if (i<_size)
return _data[i];
return TCpx(_INVALID);
}
float NoBoundsCheck(int i) {
return _data[i];
}
void UseBoundsCheck(bool State) {
if (State) {
float (operator[]) = &MyArrayClass::BoundsCheck;
} else {
float (operator[]) = &MyArrayClass::NoBoundsCheck;
}
CheckArrayBounds = State;
}
float operator[](int i) { return _data[i]; };
};
Run Code Online (Sandbox Code Playgroud)