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:

array.cpp

array.cpp

pair.cpp

pair.cpp

vector.cpp

vector.cpp

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

solution.cpp

solution.cpp

#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
single

single

#include <iostream>

int main()
{
std::___<___, ___> ___(1, "c<>definity");
std::___<___, ___> ___{ '1', '2', '3', '4', '5' };
std::vector<___> ___{ 1, 2, 3, 4, 5 };
}

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt