ในบทความนี้ เราจะพูดถึงการทำงาน ไวยากรณ์ และตัวอย่างของเทมเพลต std::is_empty ใน C++ STL
is_empty เป็นเทมเพลตที่อยู่ภายใต้ไฟล์ส่วนหัว
คลาสว่างคืออะไร
คลาสเรียกว่าว่างเปล่าเมื่อไม่มีข้อมูลที่เก็บไว้ในคลาส คลาสว่างมีคุณสมบัติดังต่อไปนี้ -
- ต้องไม่มีสมาชิกที่ไม่คงที่นอกจากฟิลด์บิตที่มีความยาว 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 สำหรับโครงสร้างที่มีคอนสตรัคเตอร์:จริง ก่อน>