Modernes C++ programmieren

Okt 23, 2024

lst-0765-book.cpp

// https://godbolt.org/z/1vGPo9a99 
#include <vector>
// …
set data{1,2,3,4,5};
std::vector quelle{10, 20, 30, 40, 50};

// Es gibt kein set::assign:
data.assign(quelle.begin(), quelle.end());   //                                          (ERR)  kein set::assign
// Simulieren Sie es also mittels eines temporären set:
set temp(quelle.begin(), quelle.end());      // aus Quelle kopieren …
data.swap(temp);                             // … Inhalte effizient vertauschen
cout <<= data; // Ausgabe: 10 20 30 40 50
// … oder per vorherigem clear und darauffolgendem insert:
data.clear();                                // leeren …
data.insert(quelle.begin(), quelle.end());   // … und einfügen
cout <<= data; // Ausgabe: 10 20 30 40 50