C++-Funktionsvorlagen und generische Programmierung ermöglichen die Erstellung von generischem Code, der verschiedene Datentypen akzeptiert und Typunabhängigkeit durch Typparameter und Vorlagenklassen erreicht. Zu den Vorteilen zählen Wiederverwendbarkeit des Codes, Typsicherheit und Leistungsoptimierung. Funktionsvorlagen (wie „print“) und generische Klassen (wie „Vector“) ermöglichen Ihnen das Schreiben von Code, der typfrei, effizient und wiederverwendbar ist.
C++-Funktionsvorlagen und generische Programmierung
Einführung
Mit Funktionsvorlagen können Sie generische Funktionen erstellen, die verschiedene Datentypen akzeptieren. Die generische Programmierung erweitert dieses Konzept weiter und ermöglicht Ihnen das Schreiben von typunabhängigem, effizientem und wiederverwendbarem Code.
Funktionsvorlagen
Funktionsvorlagen verwenden Typparameter, um Platzhalterdatentypen darzustellen. Zum Beispiel:
template<typename T> void print(T value) { std::cout << value << std::endl; }
Diese Vorlagenfunktion akzeptiert einen Wert eines beliebigen Datentyps T
und gibt ihn auf der Konsole aus. T
的值并将其打印到控制台。
泛型编程
泛型编程将类型参数从函数中分离出来,方法是使用模板类。例如:
template<typename T> class Vector { public: T* data; int size; Vector() : data(nullptr), size(0) {} ~Vector() { delete[] data; } // ...其他方法... };
这个 Vector
Generische ProgrammierungGenerische Programmierung trennt Typparameter von Funktionen mithilfe von Vorlagenklassen. Zum Beispiel:
template<typename T> void sort(Vector<T>& v) { for (int i = 0; i < v.size - 1; i++) { for (int j = i + 1; j < v.size; j++) { if (v.data[j] < v.data[i]) { std::swap(v.data[i], v.data[j]); } } } }
Vector
kann jede Art von Datenelement speichern. Vektoren sortierenHier ist ein Beispiel für einen generischen Sortieralgorithmus:
rrreeeDas obige ist der detaillierte Inhalt vonC++-Funktionsvorlagen und generische Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!