我在查看别人编写的代码时,看到了这个:
a(), void(), b();
其中 a
和 b
都是一个自定义模板类的实例,该类旨在通过重载返回调用实例本身的 operator()
来像函数一样运作。
类的部分内容:
template <typename T>
class SomeClass{
public:
SomeClass& operator()(void);
const SomeClass& operator()(void) const;
}
两个重载函数的返回语句如下:
template <typename T>
SomeClass<T>& SomeClass<T>::operator()(void){
// do stuff
return *this;
}
template <typename T>
const SomeClass<T>& SomeClass<T>::operator()(void) const{
// do stuff
return *this;
}
它们之间的 void()
是什么作用?我感到很奇怪。
void()
在哪里? - n. m.