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

Aggregates และ POD ใน C ++ คืออะไร


POD เป็นตัวย่อในภาษา C++ ซึ่งหมายถึงข้อมูลเก่าธรรมดา เป็นคลาส/โครงสร้างที่มีเฉพาะตัวแปรสมาชิก และไม่มีเมธอด ตัวสร้าง ตัวทำลาย ฟังก์ชันเสมือน ฯลฯ ตัวอย่างเช่น

ตัวอย่าง

#include<iostream>
using namespace std;

// POD
struct MyStruct {
   int key;
   string data;
};
int main() {
   struct MyStruct s;
   s.key = 1;
   s.data = "hello";
   return 0;
}

โครงสร้าง MyStruct ไม่มี ctor, dtor ฯลฯ ที่ผู้ใช้กำหนด และด้วยเหตุนี้จึงเป็น POD

การรวมเป็นอาร์เรย์หรือคลาสที่ไม่มีตัวสร้างที่ผู้ใช้ประกาศ ไม่มีสมาชิกข้อมูลที่ไม่คงที่ที่เป็นส่วนตัวหรือได้รับการปกป้อง ไม่มีคลาสพื้นฐาน และไม่มีฟังก์ชันเสมือน

คลาสรวมจะเรียกว่า POD หากไม่มีโอเปอเรเตอร์กำหนดคัดลอกที่กำหนดโดยผู้ใช้และตัวทำลาย และไม่มีสมาชิกที่ไม่คงที่ของคลาสใดที่เป็นคลาสที่ไม่ใช่ POD อาร์เรย์ของที่ไม่ใช่ POD หรือข้อมูลอ้างอิง