程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c++11-請幫忙看下async_accept的這種調用方法,沒有使用Bind,看不懂...

c++11-請幫忙看下async_accept的這種調用方法,沒有使用Bind,看不懂...

編輯:編程綜合問答
請幫忙看下async_accept的這種調用方法,沒有使用Bind,看不懂...
void AsyncAcceptManaged(ManagerAcceptHandler mgrHandler)
{
    _acceptor.async_accept(_socket, [this, mgrHandler](boost::system::error_code error)
    {
        if (!error)
        {
            try
            {
                _socket.non_blocking(true);

                mgrHandler(std::move(_socket));
            }
            catch (boost::system::system_error const& err)
            {
                TC_LOG_INFO("network", "Failed to initialize client's socket %s", err.what());
            }
        }

        AsyncAcceptManaged(mgrHandler);
    });
}

    其中:
    typedef void(*ManagerAcceptHandler)(tcp::socket&& newSocket);
    tcp::acceptor _acceptor;

最佳回答:


C++11新特性,lambada,實際上是一個函數對象

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved