std::default_initializable (自 C++20 起)
来自 cppreference.com
定义在头文件 <concepts> 中 |
||
template< class T > concept default_initializable = std::constructible_from<T> && requires { T{}; } && |
(自 C++20 起) | |
default_initializable
概念检查类型 T
的变量是否可以
访问检查执行方式就好像在与 T 无关的上下文中。仅考虑变量初始化的直接上下文的有效性。
[编辑] 可能的实现
template<class T> concept default_initializable = std::constructible_from<T> && requires { T{}; ::new T; }; |
[编辑] 参考文献
- C++23 标准 (ISO/IEC 14882:2024)
- 18.4.12 概念
default_initializable
[concept.default.init]
- 18.4.12 概念
- C++20 标准 (ISO/IEC 14882:2020)
- 18.4.12 概念
default_initializable
[concept.default.init]
- 18.4.12 概念
[编辑] 另请参阅
(C++20) |
指定类型变量可以从一组参数类型构造或绑定到一组参数类型 (概念) |
检查类型是否具有默认构造函数 (类模板) |