在C ++中使用示例的std :: is_copy_constructible

在C ++中使用示例的std :: is_copy_constructible

C ++ STL的 is_copy_constructible 模板存在于 ** < ** type_traits ** > ** 头文件中。 C ++ STL的 is_copy_constructible 模板用于检查 T 是否可复制构造。 如果 T 是可复制构造类型,则返回布尔值true,否则返回false。

头文件:

#include <type_traits>

模板类:

template <class T> struct is_copy_constructible;

语法:

std :: is_copy_constructible <int> :: value
std :: is_copy_constructible> class T > :: value

参数: 该模板接受单个参数 T(特征类) 以检查T是否可复制构造。

返回值: 此模板返回以下布尔变量:

  • 真: 如果类型 T 是可复制构造的。
  • 假: 如果类型 T 不可复制构造。

以下程序说明了C / C ++中的std :: is_copy_constructiblev模板:

程序:

// C ++ program to illustrate
// std::is_copy_constructible example
#include <bits/stdc++.h>
#include <type_traits>
using namespace std;
  
// Declare structures
struct B {
};
struct A {
    A& operator=(A&) = delete;
};
  
// Driver Code
int main()
{
    cout << boolalpha;
  
    // Check that if char is copy
    // constructible or not
    cout << "char: "
         << is_copy_constructible<char>::value
         << endl;
  
    // Check that if int is copy
    // constructible or not
    cout << "int: "
         << is_copy_constructible<int>::value
         << endl;
  
    // Check that if int[2] is copy
    // constructible or not
    cout << "int[2]: "
         << is_copy_constructible<int[2]>::value
         << endl;
  
    // Check that if struct A is copy
    // constructible or not
    cout << "struct A: "
         << is_copy_constructible<A>::value
         << endl;
  
    // Check that if struct B is copy
    // constructible or not
    cout << "struct B: "
         << is_copy_constructible<B>::value
         << endl;
  
    return 0;
}
char:true
int:true
int [2]:false
struct A:true
struct B:true

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程