以 std::optional 为例来说明就是: 所谓就地构造,就是你可以直接使用 std::string 的构造参数来构造 std::optional使用了 std::in_place 标记来进行构造,这意味着 std::optional 的构造参数将直接用于调用 std::string...+’, ‘+’, ‘1’, ‘7’ }).另外,代码中的 opt4(第19行)并未使用就地构造方法,而是调用了 std::optional 的复制构造函数(复制了op3)....程序的输出如下:
?
上述的就地构造是不是觉得有些熟悉?...类型,是一种可以被调用的类型,通常是一个函数,一个函数对象或者一个 lambda 函数.简单起见,这里我仅使用 lambda 函数来举例说明.