C++中的std::is_destructible用法示例

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不是可破坏的类型。
以下是演示程序std::is_destructible在C++中:
程序:
//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通过激烈的问题解决过程来训练和掌握这些概念。

    推荐阅读