std::any::emplace
STD::任何:
template< class ValueType, class... Args > std::decay_t | (1) | (since C++17) |
---|---|---|
template< class ValueType, class U, class... Args > std::decay_t<ValueType>& emplace( std::initializer_list<U> il, Args&&... args | (2) | (since C++17) |
将包含的对象更改为std::decay_t<ValueType>从争论中构建的。
首先销毁当前包含的对象%28(如果有%29)reset()
,然后:
1%29构造一个类型的对象。std::decay_t<ValueType>,,,直接-非列表-初始化从std::forward<Args>(args)...,作为包含的对象。此重载只参与在下列情况下的重载解决方案:std::is_constructible_v<std::decay_t<ValueType>, Args...>和std::is_copy_constructible_v<std::decay_t<ValueType>>都是true...
2%29构造一个类型的对象。std::decay_t<ValueType>,,,直接-非列表-初始化从il,std::forward<Args>(args)...,作为包含的对象。此重载只参与在下列情况下的重载解决方案:std::is_constructible_v<std::decay_t<ValueType>,std::initializer_list<U>&, Args...>和std::is_copy_constructible_v<std::decay_t<ValueType>>都是true...
模板参数
ValueType | - | contained value type |
---|
类型要求
-性病::腐烂[医]T型<ValueType>必须符合CopyConstrucable的要求。
返回值
对新包含的对象的引用。
例外
抛出任何异常。T
%27s构造函数。如果引发异常,则先前包含的对象%28(如果有%29已被销毁)和*this
不包含值。
例
另见
(constructor) | constructs an any object (public member function) |
---|---|
reset | destroys contained object (public member function) |
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。