我有以下方法:靜態創建C++ 11 lambda目標嗎?
using async_handler_t = std::function<void(boost::system::error_code, std::size_t)>;
async_handler_t deadlineHandler(boost::system::error_code &ec) {
return [&ec, this](boost::system::error_code newEc, std::size_t) {
ec = newEc;
deadline_.cancel();
};
}
其停止期限定時器並允許io_service對象運行循環繼續(抓住這個來自官方的ASIO超時文檔)這是一個簡單的ASIO限期處理。
問題是關於函數本身產生了多少次。我明白,我從這個方法返回一個功能對象(std :: function object),它是在運行時動態創建的,但是目標函數只創建一次?