Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/161.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用lamba函数时可能出现堆栈溢出?_C++_C++11_Boost_Recursion - Fatal编程技术网

C++ 使用lamba函数时可能出现堆栈溢出?

C++ 使用lamba函数时可能出现堆栈溢出?,c++,c++11,boost,recursion,C++,C++11,Boost,Recursion,在给出的示例中,我们可以看到这样的代码块: void do_accept() { acceptor_.async_accept(socket_, [this](boost::system::error_code ec) { if (!ec) { std::make_shared<session>(std::move(socket_))->start();

在给出的示例中,我们可以看到这样的代码块:

  void do_accept()
  {
    acceptor_.async_accept(socket_,
        [this](boost::system::error_code ec)
        {
          if (!ec)
          {
            std::make_shared<session>(std::move(socket_))->start();
          }

          do_accept();
        });
void do_accept()
{
接受程序异步接受(套接字),
[this](boost::system::error_code ec)
{
如果(!ec)
{
std::make_shared(std::move(socket_))->start();
}
你接受吗;
});
我是C++11的新手。所以我想知道这段代码是否会导致堆栈溢出(太多的递归调用),因为do_accept()类注册了do_accept()的回调


谢谢。

没有。
async\u-accept
将触发一个异步调用并立即返回--
do\u-accept
因此在调用后立即返回


稍后,异步调用将完成,并将调用
do\u accept
来触发另一个异步调用。不涉及递归。

不。
async\u accept
将触发一个异步调用并立即返回--
do\u accept
因此在调用后立即返回


稍后,异步调用将完成,并将调用
do\u accept
来触发另一个异步调用。不涉及递归。

do\u accept
从不调用自身。
do\u accept
从不调用自身。