std:: default_initializable
|
定义于头文件
<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)
|
指定该类型的变量可以从一组实参类型构造或绑定
(概念) |
|
(C++11)
(C++11)
(C++11)
|
检查类型是否拥有默认构造函数
(类模板) |