std::expected<T,E>::emplace
来自cppreference.com
工具库
std::expected
成员函数 | ||||
观察器 | ||||
单子函数 | ||||
修改器 | ||||
expected::emplace
|
||||
非成员函数 | ||||
辅助类 | ||||
T 不是 cv void
|
||
template<
class...
Args
>
constexpr T& emplace( Args&&... args ) noexcept; |
(1) | (C++23 起) |
template<
class
U, class...
Args
>
constexpr T& emplace( std::initializer_list<U>& il, Args&&... args ) noexcept; |
(2) | (C++23 起) |
T 是 cv void
|
||
constexpr
void
emplace()
noexcept;
|
(3) | (C++23 起) |
在原地构造一个期望值。调用后,has_value()
返回 true。
1) 销毁包含的值,然后初始化 *this
中包含的期望值,就像用参数 std::forward<Args>(args)... 直接初始化 构造
T
类型的对象一样。此重载只有在std::is_nothrow_constructible_v<T, Args...> 为真
时才会参与重载决议。2) 销毁包含的值,然后初始化 *this
中包含的期望值,就像用参数 il, std::forward<Args>(args)... 直接初始化 构造
T
类型的对象一样。 此重载只有在std::is_nothrow_constructible_v<T, std::initializer_list<U>&, Args...> 为真
时才会参与重载决议。3) 如果 *this
包含一个非期望值,销毁该值。
参数
args... | - | 传递给构造函数的参数 |
il | - | 传递给构造函数的初始化列表 |
返回值
对新包含的值的引用。
异常
noexcept 说明:
noexcept
注解
如果 T
的构造函数是潜在抛出的,则此函数未定义。在这种情况下,用户有责任创建一个临时对象并移动或复制它。
示例
本节未完成 原因:暂无示例 |
参阅
(C++23)
|
赋值内容 (公开成员函数) |