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