变体对象保存并管理值。 如果变体包含值,则该值的类型必须是提供给该变体的模板参数类型之一。 这些模板参数称为替代项。
要求
标头:<variant>
命名空间: std
成员
运算符
名称 | 描述 |
---|---|
operator== | 测试运算符左侧的变体对象是否等于右侧的变体对象。 |
operator!= | 测试运算符左侧的变体对象是否不等于右侧的变体对象。 |
operator< | 测试运算符左侧的变体对象是否小于右侧的变体对象。 |
operator<= | 测试运算符左侧的变体对象是否小于或等于右侧的变体对象。 |
operator> | 测试运算符左侧的变体对象是否大于右侧的变体对象。 |
operator>= | 测试运算符左侧的变体对象是否大于或等于右侧的变体对象。 |
函数
名称 | 描述 |
---|---|
get | 获取对象的变体。 |
get_if | 获取对象的变体(如果存在)。 |
holds_alternative | 如果存在变体,则返回 true 。 |
swap | 交换变体。 |
visit | 移动到下一个变体。 |
类
“属性” | 描述 |
---|---|
bad_variant_access | 抛出用于报告对变体对象值的无效访问的对象。 |
变量 | 一个对象,要么包含其替代类型之一的值,要么不包含值。 |
结构
名称 | 描述 |
---|---|
hash | |
monostate | 使变体类型默认可构造的变体的替代类型。 |
uses_allocator | |
variant_alternative | 协助变体对象。 |
variant_size | 协助变体对象。 |
对象
名称 | 描述 |
---|---|
variant_npos |