Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Vorlagenklassen und STL | Klassenvorlagen
C++-Vorlagen

book
Vorlagenklassen und STL

Eine Vorlagenklasse in C++ ist nicht nur auf das Schlüsselwort class beschränkt; sie umfasst auch Vorlagen, die mit klassenähnlichen Schlüsselwörtern wie struct und union erstellt wurden. Zum Beispiel nutzen viele Vorlagen in der STL (Standard Template Library) diese Schlüsselwörter.

Die STL, ein wesentlicher Bestandteil der C++-Vorlagen, ist eine umfassende Bibliothek von Vorlagenklassen in der C++-Standardbibliothek. Sie bietet effiziente, gut getestete Lösungen für gängige Datenstrukturen und Algorithmen, sodass Entwickler sich mehr auf die Anwendungslogik konzentrieren können, anstatt grundlegende Funktionen neu zu erstellen. Einige häufig verwendete STL-Vorlagenklassen sind:

cpp

array

cpp

pair

cpp

vector

copy
// The `std::array` template in C++ (introduced in C++11)
// Is a fixed-size array that encapsulates C-style arrays
// Provides additional functionality
template<class T, std::size_t N>
struct array;
// Inside <array> header
123456
// The `std::array` template in C++ (introduced in C++11) // Is a fixed-size array that encapsulates C-style arrays // Provides additional functionality template<class T, std::size_t N> struct array; // Inside <array> header

Es ist nicht nötig, das Rad neu zu erfinden. Es ist viel effizienter, bestehende, gut getestete Lösungen zu verwenden. Lassen Sie uns üben, Vorlagenklassen aus der STL zu verwenden.

Aufgabe

Swipe to start coding

Vervollständigen Sie die Initialisierung von std::pair, std::array und std::vector

  1. Fügen Sie alle notwendigen Header ein.
  2. Basierend auf den im Parameter- oder Initialisierungslisten übergebenen Parametern, vervollständigen Sie die Initialisierung der Template-Klassen.

Lösung

cpp

solution

#include <iostream>
#include <utility>
#include <array>
#include <vector>

int main()
{
std::pair<int, int> pair(2, 2);
std::array<int, 5> array { 1, 2, 3, 4, 5 };
std::vector<int> vector { 1, 2, 3, 4, 5 };
}

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
#include <iostream>

int main()
{
std::___<___, ___> ___(1, "c<>definity");
std::___<___, ___> ___{ '1', '2', '3', '4', '5' };
std::vector<___> ___{ 1, 2, 3, 4, 5 };
}
toggle bottom row
some-alt