我可能有點緊張,但無法理解下面的行是什麼?瞭解C++中的運算符過載
class background_task
{
public:
void operator()() const
{
do_something();
do_something_else();
}
};
background_task f;
std::thread my_thread(f);
我認識一個線程(名爲
my_thread
)創建它調用對象background_task
類的f
但當在background_task
類功能operator()
其實叫什麼名字?爲什麼要重載函數操作符?我知道這是C++ 101或非常基本的,但我仍然無法掌握它,所以我應該參考哪些書籍來了解更多關於這些C++主題的內容。
這不是關於[運算符重載](http://stackoverflow.com/q/4421706/1025391),而是關於C++函子。看到這篇文章:http://stackoverflow.com/a/356993/1025391爲您的問題的詳細答案。 – moooeeeep 2012-04-11 17:44:36
別擔心;這不是C++ 101.介紹性的C++類當然不會涵蓋線程,可能不會涵蓋自定義函數調用操作符,甚至可能不包括編寫自己的類。 – 2012-04-11 18:30:13