0% found this document useful (0 votes)
4 views

C++ Vectors

C++ vectors are resizable arrays that allow dynamic storage of multiple elements of the same data type, unlike static arrays. To use vectors, the <vector> header must be included, and elements can be added or removed using functions like .push_back() and .pop_back(). Vectors also provide various functions for accessing, modifying, and checking their size and emptiness.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

C++ Vectors

C++ vectors are resizable arrays that allow dynamic storage of multiple elements of the same data type, unlike static arrays. To use vectors, the <vector> header must be included, and elements can be added or removed using functions like .push_back() and .pop_back(). Vectors also provide various functions for accessing, modifying, and checking their size and emptiness.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

11/11/2024, 17:33 C++ Vectors

 Tutorials  Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C

C++ Vectors
❮ Previous Next ❯

C++ Vector
A vector in C++ is like a resizable array.

Both vectors and arrays are data structures used to store multiple elements of the
same data type.

The difference between an array and a vector, is that the size of an array cannot be
modified (you cannot add or remove elements from an array). A vector however, can
grow or shrink in size as needed.

To use a vector, you have to include the <vector> header file:

// Include the vector library


#include <vector>

Create a Vector
To create a vector, use the vector keyword, and specify the type of values it should
store within angle brackets <> and then the name of the vector, like: vector<type>
vectorName .

Example
https://www.w3schools.com/cpp/cpp_vectors.asp 1/10
11/11/2024, 17:33 C++ Vectors

//vector<string>
Create a vector called cars that will store strings
Tutorials  Exercises 
cars;
Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C

If you want to add elements at the time of declaration, place them in a comma-
separated list, inside curly braces {} , just like with arrays:

Example
// Create a vector called cars that will store strings
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Print vector elements


for (string car : cars) {
cout << car << "\n";
}

Try it Yourself »

Note: The type of the vector ( string in our example) cannot be changed after its
been declared.

Access a Vector
You can access a vector element by referring to the index number inside square
brackets [] .

Vectors, like arrays, are 0-indexed, meaning that [0] is the first element, [1] is the
second element, and so on:

Example
// Create a vector called cars that will store strings
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

https://www.w3schools.com/cpp/cpp_vectors.asp 2/10
11/11/2024, 17:33 C++ Vectors

// Get the first element


 Tutorials
cout << 
cars[0]; Exercises
// Outputs Services 
 Volvo  My W3Schools

HTML
 // GetCSSthe second
JAVASCRIPT
element SQL PYTHON JAVA PHP HOW TO W3.CSS C
cout << cars[1]; // Outputs BMW

Try it Yourself »

One advantage of using the vector library, is that it includes many useful functions.
For example, you can access the first or the last element of a vector with the
.front() and .back() functions:

Example

// Create a vector called cars that will store strings


vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Get the first element


cout << cars.front();

// Get the last element


cout << cars.back();

Try it Yourself »

To access an element at a specified index, you can use the .at() function and
specify the index number:

Example
// Create a vector called cars that will store strings
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Get the second element


cout << cars.at(1);

// Get the third element


cout << cars.at(2);

https://www.w3schools.com/cpp/cpp_vectors.asp 3/10
11/11/2024, 17:33 C++ Vectors

Try it Yourself »
Tutorials  Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
Note: The .at() function is often preferred over square brackets [] because it lets
you know if an error occurs.

For example if the element is out of range:

Example
// Create a vector called cars that will store strings
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Try to access an element that does not exist (throws an error message)
cout << cars.at(6);

Try it Yourself »

Change a Vector Element


To change the value of a specific element, you can refer to the index number:

Example

vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Change the value of the first element


cars[0] = "Opel";

cout << cars[0]; // Now outputs Opel instead of Volvo

Try it Yourself »

However, it is safer to use the .at() function:

https://www.w3schools.com/cpp/cpp_vectors.asp 4/10
11/11/2024, 17:33 C++ Vectors

 Tutorials 
Example
Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

// Change the value of the first element


cars.at(0) = "Opel";

cout << cars.at(0); // Now outputs Opel instead of Volvo

Try it Yourself »

Add Vector Elements


The biggest difference between a vector and an array is that vectors can grow
dynamically. That means you can add or remove elements from the vector.

To add an element to the vector, you can use the .push_back() function, which will
add an element at the end of the vector:

Example
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.push_back("Tesla");

Try it Yourself »

You can add as many elements as you want:

Example
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};
cars.push_back("Tesla");
cars.push_back("VW");
cars.push_back("Mitsubishi");
cars.push_back("Mini");

https://www.w3schools.com/cpp/cpp_vectors.asp 5/10
11/11/2024, 17:33 C++ Vectors

Try it Yourself »
Tutorials  Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C

Remove Vector Elements


To remove an element from the vector, you can use the .pop_back() function, which
removes an element from the end of the vector:

Example

vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};


cars.pop_back();

Try it Yourself »

Note: Elements are usually only added and removed from the end of the vector. If
you need to add or remove elements from both ends, it is often better to use a deque
instead of a vector.

Vector Size
To find out how many elements a vector has, use the .size() function:

Example

vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};


cout << cars.size(); // Outputs 4

Try it Yourself »

Check if a Vector is Empty


There is also a function to find out whether a vector is empty or not.
https://www.w3schools.com/cpp/cpp_vectors.asp 6/10
11/11/2024, 17:33 C++ Vectors

The .empty() function returns 1 (true) if the vector is empty and 0 (false) if it
 Tutorials  Exercises 
contains one or more elements:
Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C

Example

vector<string> cars;
cout << cars.empty(); // Outputs 1 (The vector is empty)

Try it Yourself »

Example

vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};


cout << cars.empty(); // Outputs 0 (not empty)

Try it Yourself »

Loop Through a Vector


You can loop through the vector elements by using a for loop combined with the
.size() function:

Example
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (int i = 0; i < cars.size(); i++) {


cout << cars[i] << "\n";
}

Try it Yourself »

You can also use a for-each loop (introduced in C++ version 11 (2011), which is
cleaner and more readable:
https://www.w3schools.com/cpp/cpp_vectors.asp 7/10
11/11/2024, 17:33 C++ Vectors

 Tutorials 
Example
Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
vector<string> cars = {"Volvo", "BMW", "Ford", "Mazda"};

for (string car : cars) {


cout << car << "\n";
}

Try it Yourself »

Tip: It is also possible to loop through vectors with an iterator, which you will learn
more about in a later chapter.

Complete Vector Reference


For a complete reference of Vector functions, go to our C++ Vector Reference.

❮ Previous Next ❯

https://www.w3schools.com/cpp/cpp_vectors.asp 8/10
11/11/2024, 17:33 C++ Vectors

 Tutorials  Exercises  Services   My W3Schools

HTML
 CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C

COLOR PICKER



 PLUS SPACES GET CERTIFIED

FOR TEACHERS FOR BUSINESS CONTACT US

Top Tutorials
HTML Tutorial
CSS Tutorial
JavaScript Tutorial
How To Tutorial
SQL Tutorial
Python Tutorial
W3.CSS Tutorial
Bootstrap Tutorial
PHP Tutorial
Java Tutorial
C++ Tutorial
jQuery Tutorial
https://www.w3schools.com/cpp/cpp_vectors.asp 9/10
11/11/2024, 17:33 C++ Vectors

Top References
 Tutorials  Exercises  Services   My W3Schools
HTML Reference
HTML
 CSS CSS Reference
JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C
JavaScript Reference
SQL Reference
Python Reference
W3.CSS Reference
Bootstrap Reference
PHP Reference
HTML Colors
Java Reference
Angular Reference
jQuery Reference

Top Examples Get Certified


HTML Examples HTML Certificate
CSS Examples CSS Certificate
JavaScript Examples JavaScript Certificate
How To Examples Front End Certificate
SQL Examples SQL Certificate
Python Examples Python Certificate
W3.CSS Examples PHP Certificate
Bootstrap Examples jQuery Certificate
PHP Examples Java Certificate
Java Examples C++ Certificate
XML Examples C# Certificate
jQuery Examples XML Certificate

    

FORUM ABOUT ACADEMY


W3Schools is optimized for learning and training. Examples might be simplified to
improve reading and learning.
Tutorials, references, and examples are constantly reviewed to avoid errors, but we
cannot warrant full correctness
of all content. While using W3Schools, you agree to have read and accepted our
terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by


W3.CSS.

https://www.w3schools.com/cpp/cpp_vectors.asp 10/10

You might also like