std::default_initializable - cppreference.com
来自cppreference.com
template< class T > concept default_initializable = std::constructible_from<T> && requires { T{}; } && /* T 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