<分区>
为什么要在 C++ 类或 C++11 或更高版本的结构中重载 () 运算符?据我所知,当您想将类或结构等对象传递到 std::thread 并通过可调用类型启动一个带有数据包的新线程时,这些运算符会重载。 但除此之外,为什么还要重载 () 运算符?不能在类或结构的构造函数中简单地做同样的事情吗?
为什么要用
struct MyCallableStruct{
void operator() () {
dosomething();
}
}
什么时候可以做
struct MyCallableStruct{
MyCallableStruct() { dosomething(); }
}