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

POD Types ใน C++ คืออะไร


POD (Plain Old Data) = class/struct ที่มี เฉพาะ member variables ไม่มี methods, constructors, destructors, virtual functions, base classes, private/protected non-static members

ตัวอย่าง

#include <iostream>
using namespace std;

struct MyStruct {  // POD
    int key;
    string data;
};

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

เนื่องจากไม่มี user-defined ctor, dtor, assignment operators จึงเป็น POD สามารถใช้ memcpy, memset, ส่งไป C API ได้อย่างปลอดภัย

หมายเหตุ: นิยาม POD เปลี่ยนใน C++11 เป็น "trivial + standard layout" บทความนี้อาจเก่า