std::experimental::nullopt_t

来自cppreference.com
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行扩展 (并行 TS)
并行扩展 2 (并行 TS v2)
并发扩展 (并发 TS)
并发扩展 2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS 功能特性
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
在标头 <experimental/optional> 定义
struct nullopt_t;
(库基础 TS)

std::experimental::nullopt_t 是一种空类类型,用于指定具有未初始化状态的 optional 类型。特别是,std::experimental::optional 有一个以 nullopt_t 为单个实参的构造函数,它创建不含有值的 optional 对象。

std::experimental::nullopt_t 必须为字面类型 (LiteralType) ,且不能具有默认构造函数。

它必须具有一个接受某种由实现定义的字面量类型的 constexpr 构造函数。

注解

为同时支持 op = {};op = nullopt; 作为 optional 对象的脱离语法,nullopt_t 并非可默认构造 (DefaultConstructible)

此类可能的实现为

struct nullopt_t
{
    constexpr nullopt_t(int) {}
};

参阅

Template:cpp/utility/dsc nullopt