【发布时间】:2021-06-09 14:09:47
【问题描述】:
我以前使用过这种模式来进行特定于模块的初始化,例如在 .cpp 文件的顶部:
static bool isInitialized = []()
{
...//do stuff
return true;
}();
但是像这样的东西呢:
static MyObject something = []()
{
MyObject ret(...);
ret.x(...)
return ret;
}();
如果something 将 ret 或将是一个副本,这是确定的吗?我想避免抄袭。
我主要使用 VS2017/C++14,不过很快就会转向 C++17。
【问题讨论】: