总览
Any 用于储存任意 C++ 类型的值。
构造函数
Any(void)
- 说明
- 默认构造函数。
- 参数
- 无。
- 异常
- 有。
- 返回值
- 无。
template Any(U&& value)
- 说明
- 放入一个值。支持完美转发。
- 参数
- value:值
- 异常
- 有。
- 返回值
- 无。
Any(const Any& that)
- 说明
- 拷贝构造函数。
- 参数
- that:拷贝对象
- 异常
- 有。
- 返回值
- 无。
Any(Any&& that)noexcept
- 说明
- 移动构造函数。
- 参数
- that:移动对象
- 异常
- 无。
- 返回值
- 无。
公共成员函数
Any& operator=(const Any& input)
- 说明
- 拷贝赋值运算符。
- 参数
- input:拷贝的对象
- 异常
- 有。
- 返回值
- *this
Any& operator=(Any&& input)noexcept
- 说明
- 移动赋值运算符。
- 参数
- input:移动的对象
- 异常
- 无。
- 返回值
- *this
inline bool has_value() const
- 说明
- 该对象是否持有一个值。
- 参数
- 无。
- 异常
- 有。
- 返回值
- 当持有值时返回 true;否则返回 false;
inline std::type_index type() const
- 说明
- 获取持有的值的类型。
- 参数
- 无。
- 异常
- 有。
- 返回值
- std::type_index。
template inline void set(T&& value)
- 说明
- 删除老的值(不存在则不会删除),放入新的值。
- 参数
- value:值
- 异常
- 有。
- 返回值
- 无。
template inline U& get()const
- 说明
- 获取保存的值。
- 参数
- 需要显式传入模板参数,该参数是一个类型模板参数,表明要将保存的值转换到什么类型并获取。无普通参数。
- 异常
- 有。当保存的值无法转换到用户指定的类型(通过模板参数表明)时,抛出 DC::DC_ERROR。
- 返回值
- 转换后的值。