Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Das pimpl Ausdrucksweise ist eine moderne C++-Technik, Implementierung auszublenden, Kopplung zu minimieren und Schnittstellen zu trennen.Pimpl kurz ist für "Zeiger zur Implementierung". Sie bereits mit dem Konzept vertraut sein jedoch wissen möglicherweise von anderen Namen wie Cheshire-Katzen- oder -Compiler-Firewallidiom.
Gründe für die Verwendung von pimpl?
Im Folgenden wird gezeigt, wie das pimpl Ausdrucksweise des Lebenszyklus der Softwareentwicklung verbessern kann:
Reduzierung von Kompilierungsabhängigkeiten.
Trennung der Schnittstelle und Implementierung.
Portabilität.
Pimpl-Header
// my_class.h
class my_class {
// ... all public and protected stuff goes here ...
private:
class impl; unique_ptr<impl> pimpl; // opaque type here
};
Das pimpl Vorgehensweise vermeidet Wiederaufbauenkaskaden und spröde Objektlayouts.Es ist für (transitiv) oder Typen gut geeignet.
Pimpl-Implementierung
Definieren Sie die impl-Klasse in der CPP-Datei.
// my_class.cpp
class my_class::impl { // defined privately here
// ... all private data and functions: all of these
// can now change without recompiling callers ...
};
my_class::my_class(): pimpl( new impl )
{
// ... set impl values ...
}
Bewährte Methoden
Überlegen Sie, ob Unterstützung für nicht-auslösende Austauschspezialisierung hinzugefügt wird.