1、指针、智能指针(nullptr、shared_ptr、std::weak_ptr)
(1)nullptr
- 作用: C++11 引入了 nullptr 关键字,专门用来区分空指针、0
- 原有问题:传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL
- 实现:nullptr 的类型为 nullptr_t,能够隐式的转换为任何指针或成员指针的类型,也能和他们进行相等或者不等的比较。当需要使用 NULL 时候,养成直接使用 nullptr的习惯
NULL的定义
#ifdef __cplusplus
#define NULL 0
#else /* C++ */
#define NULL ((void *)0)
nullptr是一个