Paar-Manipulation
Zugriff auf Grundelemente
std::pair<int, string> dataPair(42, "LabEx");
// Zugriff auf Elemente
int value = dataPair.first;
string text = dataPair.second;
Modifikationstechniken
Direkte Zuweisung
std::pair<int, string> pair(10, "Initial");
pair.first = 20;
pair.second = "Aktualisiert";
Austausch-Operation
std::pair<int, string> pair1(1, "First");
std::pair<int, string> pair2(2, "Second");
std::swap(pair1, pair2); // Austausch der gesamten Paare
Vergleichsoperationen
graph LR
A[Paarvergleich] --> B[== Gleichheit]
A --> C[!= Ungleichheit]
A --> D[< Kleiner als]
A --> E[> Größer als]
Vergleichsbeispiel
std::pair<int, string> p1(10, "A");
std::pair<int, string> p2(10, "B");
bool isEqual = (p1 == p2); // Vergleicht zuerst das erste, dann das zweite Element
bool isLess = (p1 < p2);
Erweiterte Manipulation
Strukturierte Bindung (C++17)
std::pair<int, string> pair(100, "Modern");
auto [zahl, text] = pair;
Operation |
Methode |
Beispiel |
Tie |
std::tie |
std::tie(x, y) = pair |
Make Pair |
std::make_pair |
auto newPair = std::make_pair(x, y) |
Verwendung in Algorithmen
std::vector<std::pair<int, string>> data = {
{3, "Drei"},
{1, "Eins"},
{2, "Zwei"}
};
// Sortieren der Paare
std::sort(data.begin(), data.end());
Leistungsaspekte
- Leichter Container
- Minimale Overhead
- Effizient für kleine Datensätze
- Unterstützt Verschiebungssemantik
Die Beherrschung der Paar-Manipulation ermöglicht es Ihnen, ausdrucksstärkeren und effizienteren C++-Code in Ihren LabEx-Projekten zu schreiben.