【发布时间】:2018-05-27 06:24:27
【问题描述】:
为什么我不能使用nullptr 而不是nullopt?为什么{} 会翻译成nullopt?
【问题讨论】:
-
你可以有
std::optional<std::nullptr_t>;-) -
一个不存在的可选指针不同于一个确实存在的指针
nullptr。默认初始化的optional不应该有对象(并且不能用于非默认可构造类型)。这对我来说似乎很明显。另外,我想知道您的问题是否可以通过阅读导致std::optional被接受的论文来回答。 -
nullptr= "有一个指针但它没有指向任何东西";nullopt:“什么都没有”。
标签: c++ pointers c++17 stdoptional