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 Concept
default_initializable
[concept.default.init]
- 18.4.12 Concept
- C++20 标准(ISO/IEC 14882:2020):
- 18.4.12 Concept
default_initializable
[concept.default.init]
- 18.4.12 Concept
参阅
(C++20) |
指定该类型的变量能从一组实参类型进行构造,或绑定到一组实参类型 (概念) |
检查类型是否有默认构造函数 (类模板) |