std::expected<T,E>::emplace
来自cppreference.com
| 主模板 |
||
| |
(1) | (C++23 起) |
| |
(2) | (C++23 起) |
void 部分特化 |
||
| |
(3) | (C++23 起) |
在原地构造一个预期值。调用后,has_value() 返回 true。
此重载只有在
std::is_nothrow_constructible_v<T, Args...> 是 true 时才会参与重载决议。2) 销毁包含的值,然后以
il 和 std::forward<Args>(args)... 直接初始化 *this 中包含的预期值。 此重载只有在
std::is_nothrow_constructible_v<T, std::initializer_list<U>&, Args...> 是 true 时才会参与重载决议。3) 如果
*this 包含一个非预期值,就销毁该值。参数
| args | - | 传递给构造函数的实参 |
| il | - | 传递给构造函数的初始化式列表 |
返回值
1)
*std::construct_at(std::addressof(val), std::forward<Args>(args)...)2)
*std::construct_at(std::addressof(val), il, std::forward<Args>(args)...)注解
如果 T 的构造是潜在抛出的,那么可以改用 operator=。
示例
| 本节未完成 原因:暂无示例 |
参阅
| 赋值内容 (公开成员函数) |