std::is_destructible的模板C++ STL存在于<
type_traits>
头文件。的std::is_destructibleC++ STL模板用于检查是否?是否可破坏。一种类称为可破坏的, 其析构函数不会被删除并且在派生类中可能是可访问的。如果满足以下条件, 则返回布尔值true:?是可破坏的类型, 否则返回false。
头文件:
#include<
type_traits>
模板类别:
template<
class T>
struct is_destructible;
语法如下:
std::is_destructible<
T>
::value
参数:模板std::is_destructible接受一个参数T(特质类)检查是否?是否为可破坏类型。
返回值:模板std::is_destructible返回一个布尔变量, 如下所示:
- true:如果类型T是可破坏的类型。
- false:如果类型T不是可破坏的类型。
程序:
//C++ program to illustrate
//std::is_destructible
#include <
bits/stdc++.h>
#include <
type_traits>
using namespace std;
//Declare a structures
struct X {
};
struct Y {//Destructors
~Y() = delete ;
};
struct Z {
~Z() = default ;
};
struct A : Y {
};
//Driver Code
int main()
{cout <
<
boolalpha;
//Check if int is destructible
//or not
cout <
<
"int is destructible? "
<
<
is_destructible<
int>
::value
<
<
endl;
//Check if float is destructible
//or not
cout <
<
"float is destructible? "
<
<
is_destructible<
float>
::value
<
<
endl;
//Check if struct X is
//destructible or not
cout <
<
"struct X is destructible? "
<
<
is_destructible<
X>
::value
<
<
endl;
//Check if struct Y is
//destructible or not
cout <
<
"struct Y is destructible? "
<
<
is_destructible<
Y>
::value
<
<
endl;
//Check if struct Z is
//destructible or not
cout <
<
"struct Z is destructible? "
<
<
is_destructible<
Z>
::value
<
<
endl;
//Check if struct A is
//destructible or not
cout <
<
"struct A is destructible? "
<
<
is_destructible<
A>
::value
<
<
endl;
return 0;
}
输出如下:
int is destructible? true
float is destructible? true
struct X is destructible? true
struct Y is destructible? false
struct Z is destructible? true
struct A is destructible? false
参考: http://www.cplusplus.com/reference/type_traits/is_destructible/
【C++中的std::is_destructible用法示例】被认为是行业中最受欢迎的技能之一, 我们拥有自己的编码基础C++ STL通过激烈的问题解决过程来训练和掌握这些概念。
推荐阅读
- 如何应用CSS分页符来打印具有很多行的表()
- 根据字符串中频率计数的字符索引
- 用BFS求出与给定整数集距离最小的积分点
- 程序找到级数3,7,13,21,31的第n项…..
- 缓存设计的概念详细介绍
- Dijkstra使用PriorityQueue的Java中最短路径算法
- win7旗舰版硬盘安装图文详细教程
- xp系统64位与32位的区别在啥地方
- winpe u盘版安装win8系统图文详细教程