在C ++中 std :: is_trivially_copy_assignable类及示例

在C ++中 std :: is_trivially_copy_assignable类及示例

C ++ STL的 std :: is_trivially_copy_assignable 模板位于 < type_traits>头文件中。 C ++ STL的 std :: is_trivially_copy_assignable 模板用于检查 T 是否是可平凡复制可分配的类型。如果 T 是可平凡复制可分配的类型,则返回布尔值true,否则返回false。

头文件:

#include<type_traits>

Template 类:

template<class T>
struct is_trivially_copy_assignable

语法:

is_trivially_copy_assignable<T> :: value

参数: std :: is_trivially_copy_assignable 模板接受单个参数 T(特质类) ,以检查 T 是否是可平凡复制可分配的类型。

返回值: std :: is_trivially_copy_assignable 模板返回一个布尔变量,如下所示:

  • True: 如果类型 T 是可平凡复制可分配的,则返回。
  • False: 如果类型 T 不是可平凡复制可分配的,则返回。

以下是演示C ++中 std :: is_trivially_copy_assignable 的程序:

Program 1:

// C ++ program to illustrate
// std::is_trivially_copy_assignable
#include <bits/stdc++.h>
#include <type_traits>
using namespace std;

// Declare Structures
struct X {
};

struct Y {
  Y & operator=(const Y&) {
    return *this;
  }
};

// Driver Code
int main() {
  cout << std::boolalpha;

  cout << "int? " << is_trivially_copy_assignable<int> :: value << endl;

  cout << "X? " << is_trivially_copy_assignable<X> :: value << endl;

  cout << "Y? " << is_trivially_copy_assignable<Y> :: value << endl;

  cout << "int[2]? " << is_trivially_copy_assignable<int[2]> :: value << endl;
  return 0;
}
int? true
X? true
Y? false
int[2]? false

引用: http://www.cplusplus.com/reference/type_traits/is_trivially_copy_assignable/

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

C++ 教程