有没有办法在C ++中重载数组下标运算符而不是在类中?我想在数组中读/写时调用用户定义的函数。
例如:
int* array = new int[10];
array[0] = 5;
在数组[0]中写入时,我想调用自己的函数。我知道可以通过重载operator [](例如,SafeArray类)在类中完成。
感谢。
答案 0 :(得分:0)
你想要的是一个包装类,如:
template<typename T>
struct SubscriptWrapper {
SubscriptWrapper(T* array) : array_(array) {};
T& operator[](size_t index) {
// your magic goes in here
};
T* array_;
}