由分配器类型提供的非平凡指针的构造抛出异常
C++ - could construction of a non-trivial pointer supplied by an allocator type throw an exception?
这个问题不仅限于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)的要求。这些类型上的构造函数、比较操作符、复制操作、移动操作或交换操作都不能通过异常退出…
强调我的
相关文章:
- 从构造函数抛出异常时如何克服内存泄漏
- 函数如何通知用户它基于函数原型抛出异常?
- 在缺少函数重载时抛出异常,并带有 std::variant 而不是编译时错误
- VisualStudios 会抛出异常,而代码块不会 [C++]
- 如果不包含 pthread,为什么 GCC 的线程标准库实现会抛出异常?
- ZMQ::send() 抛出异常并终止 QNX 进程.为什么以及如何从中恢复?
- new(std::nothrow) int[n] 抛出异常
- 为什么g_object_set抛出异常(vcruntime140.dll)?
- 你能防止 std::regex 在无效表达式上抛出异常吗?
- C++子线程抛出异常
- 我们应该在抛出异常之前取消分配内存吗
- 有没有一种方法可以让OpenCLC++绑定为所有错误抛出异常
- 为什么访问模板化变体作为返回值抛出异常
- 如何实现,错误分配中止而不是抛出异常
- std::p riority_queue::p op什么时候会抛出异常
- 在0x5914F3BE抛出异常(基于.dll)
- 抛出异常后,对象内分配的指针是否自动解除分配
- 为什么VS2013在销毁唯一指针时会抛出异常
- 由分配器类型提供的非平凡指针的构造抛出异常
- 为什么在抛出异常指针时要通过引用使用 catch