这个问题不仅限于c++内置的指针类型(shared_ptr等),还包括任何自定义的指针类型,这些类型可能在c++中定义并作为标准兼容分配器的一部分包含。
非平凡指针的构造,例如由自定义分配器(std::allocator_traits
[分配器。/4类型为
X
的分配器应满足CopyConstructible
(17.6.3.1)的要求。X::pointer
,X::const_pointer
、X::void_pointer
、X::const_void_pointer
类型应满足NullablePointer
(17.6.3.3)的要求。这些类型上的构造函数、比较操作符、复制操作、移动操作或交换操作都不能通过异常退出…
强调我的