C++ vector assign() function
Example
Copy contents from one vector to another:
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
vector<string> carbrands;
carbrands.assign(cars.begin(), cars.end());
for(string brand : carbrands) {
cout << brand << "\n";
}
Try it Yourself »
Definition and Usage
The assign()
function clears the contents of a vector and then fills it with data.
There are two ways to specify what data should fill the vector:
- Specify a range of data to copy from another data structure
- Specify a value and the number of times to repeat it
In the first case the range of data is specified by two iterators which indicate the start and end of the range. The copied data will contain all of the elements from the start up to the last element before the end, not including the end itself.
In the second case one parameter specifies the number of elements and the other parameter specifies the value of those elements.
Syntax
One of the following:
vector.assign(iterator start, iterator end);
vector.assign(size_t amount, <type> value);
The size_t
data type is a non-negative integer. <type>
refers to the type of the data that the vector contains.
Parameter Values
Parameter | Description |
---|---|
start | Required. An iterator pointing to the start of the data range to be copied. |
end | Required. An iterator pointing to the end of the data range to be copied. Elements up to this position will be copied, but the element at this position will not be copied. |
amount | Required. An integer specifying the number of elements to put into the vector. |
value | Required. The value to write into each element of the vector. |
More Examples
Example
Fill a vector with values:
vector<string> myVector;
myVector.assign(4, "Placeholder");
for (string item : myVector) {
cout << item << "\n";
}
Try it Yourself »
Related Pages
Read more about vectors in our Vector Tutorial.
Read more about iterators in our Iterators Tutorial.