为什么我可以使用nullptr不包括STL
Why can I use nullptr without including STL?
c++ nullptr的类型为std::nullptr_t。
为什么像
这样的程序int main() {
int* ptr = nullptr;
}
仍然工作,虽然它不包括任何STL库?
在c++ 11中,他们想添加一个关键字来取代宏NULL
(基本上定义为#define NULL 0
),因为它是一个核心概念,并且因为当你被迫使用0
作为空指针常量时,你会得到一些烦人的bug。
提出了一些关键字。搜索大型代码库以确保关键字没有被使用,并且它仍然描述了他们想要的内容(空指针常量)。
nullptr
被发现是足够罕见和令人回味的。
默认情况下,nullptr
的类型没有给定关键字名称,因为大多数程序都不需要。您可以通过decltype(nullptr)
或包含std
头并使用std::nullptr_t
获得它。
相关文章:
- 为什么 cmake 许可证<>样式不包括?
- 计算平均值,不包括上次得分
- 将值从另一个数组写入数组,不包括不需要的值 C++
- 包括STL,而不会乱扔全球范围
- 如何在 android ndk 上链接 C 和 C++ 代码,以及 C 和 C++ 运行时库(包括 STL)?
- 如果语句不包括文本行?
- "迭代器"和"const_iterator"不是 STL 容器的必需成员?
- 找到 x^n 的所有组合,并检查它们的总和是否等于一个不包括相同数字的数字
- 为什么我们不在 STL 的迭代器中传递星号(*)
- 如何保证不包括 iostream?
- 创建一个循环,该循环将输出大于零且小于 60(不包括 60)的所有 5 的倍数
- C/C++ 经过的流程周期,不包括断点处
- 如何在不使用 STL 的情况下从函数反转字符串后返回字符串C++?
- 回文,不包括特殊字符和空格
- 查找 n 个数字的公因数数(不包括"1"作为公因数)
- 在 C++ 中的 SetClipboardData() 之后粘贴不包括记事本的换行符
- C++11 exit() 和 abs() 不包括 <cstdlib>?
- 生成生成 makefile 时不包括 cmake C++11 标志
- 使用STL类而不包括其适当的头
- 为什么我可以使用nullptr不包括STL