使用示例为C ++的std :: is_trivially_move_assignable
C ++ STL中的 std :: is_trivially_move_assignable 模板存在于 < type_traits>头文件中。C ++ STL的 std :: is_trivially_move_assignable 模板用于检查 T 是否是平凡的可移动分配类型。如果 T 是平凡的可移动分配类型,则返回布尔值true,否则返回false。
头文件:
#include<type_traits>
模板类:
template <class T>
struct is_trivially_move_assignable;
语法:
std :: is_trivially_move_assignable<T> :: value
参数: 模板 std :: is_trivially_move_assignable 接受单个参数 T(Trait类) ,以检查 T 是否为平凡的可移动分配,否则不是。
返回值: 模板 std :: is_trivially_move_assignable 返回布尔变量,如下所示:
- True: 如果类型 T 是平凡的可移动分配。
- False: 如果类型 T 不是平凡的可移动分配。
以下是演示C ++中的 std :: is_trivially_move_assignable 的程序:
程序:
// C ++ program to illustrate
// std :: is_trivially_move_assignable
#include<bits/stdc++.h>
#include<type_traits>
using namespace std;
// Declare Structures
class A {
};
struct B {
B& operator=(B&&) = delete;
};
// Driver Code
int main()
{
cout << boolalpha;
cout << "int is_trivially_move_assignable? "
<< is_trivially_move_assignable<int> :: value
<< endl;
cout << "A is_trivially_move_assignable? "
<< is_trivially_move_assignable<A> :: value
<< endl;
cout << "B is_trivially_move_assignable? "
<< is_trivially_move_assignable<B> :: value
<< endl;
cout << "int [2] is triviallay move assignable? "
<< is_trivially_move_assignable<int [2]> :: value
<< endl;
return 0;
}
int is_trivially_move_assignable? true
A is_trivially_move_assignable? true
B is_trivially_move_assignable? false
int [2] is triviallay move assignable? false