Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เทมเพลต is_empty ใน C++


ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของเทมเพลต std::is_empty ใน C++ STL

is_empty เป็นเทมเพลตที่อยู่ภายใต้ไฟล์ส่วนหัว เทมเพลตนี้ใช้เพื่อตรวจสอบว่าคลาส T ที่ระบุนั้นเป็นคลาสว่างหรือไม่

คลาสว่างคืออะไร

คลาสเรียกว่าว่างเปล่าเมื่อไม่มีข้อมูลที่เก็บไว้ในคลาส คลาสว่างมีคุณสมบัติดังต่อไปนี้ -

  • ต้องไม่มีสมาชิกที่ไม่คงที่นอกจากฟิลด์บิตที่มีความยาว 0
  • ต้องไม่มีคลาสฐานเสมือนหรือฟังก์ชันเสมือน
  • ต้องไม่มีคลาสพื้นฐาน

ไวยากรณ์

เทมเพลต <คลาส T>is_empty;

พารามิเตอร์

เทมเพลตสามารถมีได้เฉพาะพารามิเตอร์ของคลาส T และตรวจสอบว่าคลาส T เป็นคลาสว่างหรือไม่

คืนค่า

ส่งคืนค่าบูลีนเป็นค่าจริงหากประเภทที่กำหนดเป็นคลาสว่าง และเป็นเท็จหากประเภทที่กำหนดไม่ใช่คลาสว่าง

ตัวอย่าง

อินพุต:คลาส A{}; is_empty::value;Output:trueInput:class B{ void fun() {} }; is_empty::value;เอาต์พุต:จริง

ตัวอย่าง

#include #include ใช้เนมสเปซ std;คลาส TP_1 {};คลาส TP_2 { int var;};คลาส TP_3 { สแตติก int var;};คลาส TP_4 { ~TP_4();};int main() { cout <<บูลลาฟา; cout <<"กำลังตรวจสอบเทมเพลต is_empty สำหรับคลาสที่ไม่มีตัวแปร:"<::value; cout <<"\nตรวจสอบเทมเพลต is_empty สำหรับคลาสที่มีตัวแปรเดียว:"<::value; cout <<"\nการตรวจสอบเทมเพลต is_empty สำหรับคลาสที่มีตัวแปรสแตติกหนึ่งตัว:"<::value; cout <<"\nการตรวจสอบเทมเพลต is_empty สำหรับคลาสที่มีตัวสร้าง:"<::value; คืนค่า 0;}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

การตรวจสอบเทมเพลต is_empty สำหรับคลาสที่ไม่มีตัวแปร:truechecking สำหรับเทมเพลต is_empty สำหรับคลาสที่มีตัวแปรเดียว:falsechecking สำหรับเทมเพลต is_empty สำหรับคลาสที่มีตัวแปรสแตติกหนึ่งตัว:truechecking สำหรับเทมเพลต is_empty สำหรับคลาสที่มีตัวสร้าง:true 

ตัวอย่าง

#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 <<บูลลาฟา; cout <<"กำลังตรวจสอบเทมเพลต is_empty สำหรับโครงสร้างที่ไม่มีตัวแปร:"<::value; cout <<"\nการตรวจสอบเทมเพลต is_empty สำหรับโครงสร้างที่มีตัวแปรเดียว:"<::value; cout <<"\nการตรวจสอบเทมเพลต is_empty สำหรับโครงสร้างที่มีตัวแปรคงที่หนึ่งตัว:"<::value; cout <<"\nการตรวจสอบเทมเพลต is_empty สำหรับโครงสร้างที่มีตัวสร้าง:"<::value; คืนค่า 0;}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น มันจะสร้างผลลัพธ์ต่อไปนี้ -

การตรวจสอบเทมเพลต is_empty สำหรับโครงสร้างที่ไม่มีตัวแปร:truechecking สำหรับเทมเพลต is_empty สำหรับโครงสร้างที่มีตัวแปรเดียว:falsechecking สำหรับเทมเพลต is_empty สำหรับโครงสร้างที่มีตัวแปรสแตติกหนึ่งตัว:truechecking สำหรับเทมเพลต is_empty สำหรับโครงสร้างที่มีคอนสตรัคเตอร์:จริง ก่อน>