POD (Plain Old Data) হলো এমন ক্লাস/স্ট্রাক্ট যেটিতে শুধু মেম্বার ভেরিয়েবল থাকে - কোনো ইউজার-ডিফাইনড কনস্ট্রাক্টর, ডিস্ট্রাক্টর, ভার্চুয়াল ফাংশন, বেস ক্লাস, প্রাইভেট/প্রোটেক্টেড নন-স্ট্যাটিক মেম্বার নেই।
উদাহরণ
#include <iostream>
using namespace std;
// POD
struct MyStruct {
int key;
string data; // C++11-এ std::string নন-POD, তাই এটি স্ট্রিক্ট অর্থে POD নয়
};
// সঠিক POD উদাহরণ:
struct PodStruct {
int key;
double value;
char buffer[10];
};
int main() {
PodStruct s;
s.key = 1;
s.value = 3.14;
return 0;
}
নোট: C++11-এ POD সংজ্ঞা দুটি ভাগ করা হয়েছে: Trivial এবং Standard Layout। std::is_pod (C++20-এ ডিপ্রিকেটেড) এর বদলে std::is_trivial এবং std::is_standard_layout ব্যবহার করা উচিত।