Assign bedeutet ersetzen eines Vektors mit neuen Eigenschaften (Größe und Elemente) Reszie bedeutet, alte Daten zu halten und den neuen Vektor mit neuen Elementen zu erweitern, falls die neue Größe größer als die alte ist. Ansonsten verkleinern Sie die Größe und eliminieren Sie das Extra.
Führen Sie den folgenden Code zweimal aus. Eine für die Zuweisung der zweiten zur Größenanpassung (einfach die erste auskommentieren).
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec1;
vec1.assign(7,100);
// vec1.resize(7, 100);
std::cout << "Size: " << vec1.size() << std::endl;
for (unsigned int i(0); i < vec1.size(); ++i)
{
std::cout << vec1[i] << std::endl;
}
vec1.resize(4,5);
// vec1.assign(4,5);
std::cout << "\nSize: " << vec1.size() << std::endl;
for (unsigned int i(0); i < vec1.size(); ++i)
{
std::cout << vec1[i] << std::endl;
}
vec1.resize(10,5);
//vec1.assign(10,5);
std::cout << "\nSize: " << vec1.size() << std::endl;
for (unsigned int i(0); i < vec1.size(); ++i)
{
std::cout << vec1[i] << std::endl;
}
std::cin.get();
return 0;
}
Warum habe ich einen Downvote? – CroCo
Link-Only-Antworten sind keine guten Antworten. Sie müssen Kontext für Links bereitstellen. Es wird gelöscht, wenn Sie Ihre Antwort nicht verbessern. –
Viel besser. Es ist noch ein bisschen wortreich; die anderen Antworten sind klarer, weil sie kürzer sind. – MSalters