Computer >> Máy Tính >  >> Lập trình >> C ++

mẫu is_empty trong C ++

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của mẫu std ::is_empty trong C ++ STL.

is_empty là một mẫu nằm trong tệp tiêu đề . Mẫu này được sử dụng để kiểm tra xem lớp T đã cho có phải là một lớp trống hay không.

Lớp trống là gì?

Một lớp được gọi là trống, khi không có dữ liệu được lưu trữ trong một lớp. Lớp trống thỏa mãn những điều sau -

  • Không được có phần tử không tĩnh nào ngoài các trường bit có độ dài bằng 0.
  • Không được có lớp cơ sở ảo hoặc các hàm ảo.
  • Không được có lớp cơ sở.

Cú pháp

 mẫu  is_empty; 

Tham số

Mẫu chỉ có thể có tham số của lớp T và kiểm tra xem lớp T có phải là một lớp trống hay không.

Giá trị trả về

Nó trả về một giá trị Boolean, true nếu kiểu đã cho là một lớp trống và false nếu kiểu đã cho không phải là một lớp trống.

Ví dụ

 Đầu vào:class A {}; is_empty  ::value; Output:trueInput:class B {void fun () {}}; is_empty  ::value; Đầu ra:true 

Ví dụ

 #include  #include  using namespace std; class TP_1 {}; class TP_2 {int var;}; class TP_3 {static int var;}; class TP_4 {~ TP_4 ();}; int main () {cout < ::value; cout <<"\ nkiểm tra mẫu is_empty cho một lớp có một biến:" < ::value; cout <<"\ nchecking for is_empty template for a class with a static variable:" < ::value; cout <<"\ nchecking for is_empty template for a class with constructor:" < ::value; trả về 0;} 

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

 kiểm tra mẫu is_empty cho lớp không có biến:truechecking cho mẫu is_empty cho lớp có một biến:falsechecking cho mẫu is_empty cho lớp có một biến tĩnh:truechecking cho mẫu is_empty cho lớp có hàm tạo:true  

Ví dụ

 #include  #include  using namespace std; struct TP_1 {}; struct TP_2 {int var;}; struct TP_3 {static int var;}; struct TP_4 {~ TP_4 ();}; int main () {cout < ::value; cout <<"\ nkiểm tra mẫu is_empty cho cấu trúc có một biến:" < ::value; cout <<"\ nkiểm tra mẫu is_empty cho cấu trúc có một biến tĩnh:" < ::value; cout <<"\ nchecking for is_empty template for a structure with constructor:" < ::value; trả về 0;} 

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau -

 kiểm tra mẫu is_empty cho cấu trúc không có biến:truechecking cho mẫu is_empty cho một cấu trúc có một biến:falsechecking cho mẫu is_empty cho một cấu trúc có một biến tĩnh:truechecking cho mẫu is_empty cho một cấu trúc có hàm tạo:true