在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/