是否可以一步在堆上创建一个lambda?

gez*_*eza 23 c++ c++17

我们可以像这样创建一个lambda:

auto x = [](){};
Run Code Online (Sandbox Code Playgroud)

我可以在堆上创建这样的副本,如下所示:

auto y = new decltype(x)(x);
Run Code Online (Sandbox Code Playgroud)

问题是,是否有可能一步到位?在没有额外步骤的情况下在堆上创建lambda?

Oli*_*liv 37

您可以auto在new-expression中使用:

new auto ([](){});
Run Code Online (Sandbox Code Playgroud)

  • @丹 https://wandbox.org/permlink/RFX021jIRf7vBFzh (2认同)