POD Geben Sie C++ ein

Zeeshan Afridi 12 Oktober 2023
POD Geben Sie C++ ein

PODs in C++ steht für Plain Old Data. Es ist eine Klasse, die mit den Schlüsselwörtern struct oder class definiert ist und nur Datenelemente wie int, char, double, bool, signed/unsigned, long/short, float usw. hat.

POD Geben Sie C++ ein

Wie wir wissen, sind PODs im Allgemeinen eingebaute Datentypen wie Klassen und Strukturen, die Sie mit dem Schlüsselwort class oder struct definieren können, aber es ist nicht wie andere Klassen oder Strukturen. PODs in C++ unterstützen keine Konstruktoren, Destruktoren, virtuelle Funktionen usw.

PODs (Plain Old Data) in C++ sind eine aggregierte Klasse oder Struktur, die nur PODs als Datenelemente enthält. Es definiert keine benutzerdefinierten Kopierzuweisungsoperatoren oder andere nicht statische Elemente des Zeiger-auf-Element-Typs.

Beispielcode:

#include <iostream>
using namespace std;

// POD (Plain Old Data)
struct Add {  // defined with the keyword struct
  int x;
  int y;
};

int main() {
  struct Add a;

  a.x = 1;
  a.y = 2;
  cout << "x = " << a.x << endl << "y = " << a.y << endl;
  cout << "Sum of x and y = " << a.x + a.y << endl;

  std::cout << std::boolalpha;
  std::cout << std::is_pod<Add>::value << '\n';  // this is to check POD,
                                                 // it returns Boolean value
  return 0;
}

Ausgang:

x = 1
y = 2
Sum of x and y = 3
true

Dieser Code hat eine Klasse ADD, die mit dem Schlüsselwort struct definiert ist, und hat zwei Datenelemente – x und y. Werte werden den Klassenmitgliedern ADD über das Klassenobjekt in der Hauptfunktion übergeben.

Diese Werte werden weiter addiert und als Ausgabe in der cout-Anweisung angezeigt. Jetzt ist die Klasse fertig und es werden Werte übergeben.

Es ist an der Zeit zu prüfen, ob es sich um einen POD handelt oder nicht; die Funktion is_pod hilft uns dabei. Es gibt True zurück, wenn die Klasse ein POD ist, andernfalls False.

Darüber hinaus sind Pointer, einschließlich Pointer-to-Member und Pointer-to-Function, PODs. Enums, const und volatile sind ebenfalls PODs.

Ein struct, class oder union von PODs ist ebenfalls ein POD, vorausgesetzt, dass alle nicht statischen Datenelemente als public angegeben sind und keine virtuellen Funktionen, Konstruktoren oder Destruktoren und keine Basisklasse haben.

Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

Verwandter Artikel - C++ Type