Перейти к основному содержимому
eLearner.app
Модуль 5 · Урок 1 из 211/18 в курсе~12 min
Уроки модуля (1/2)

Массивы и векторы

In C++, managing collections of data is primarily done through two tools: old-style arrays (C-style arrays) and vectors (std::vector). Understanding the difference between static and dynamic memory is fundamental to writing efficient code.


1. Static Arrays (C-style Arrays)

An array is a collection of elements of the same type stored in contiguous memory locations. The size of a static array must be known at compile time and cannot be changed later:

Code
int grades[5] = {18, 22, 25, 28, 30}; // Array of 5 integers

Key Characteristics:

  • Fixed Size: You cannot add or remove elements at runtime.
  • Stack Allocation: Very fast to allocate and deallocate.
  • Access: Done via the index operator [] (e.g., grades[0] for the first element).

2. Dynamic Vectors (std::vector)

The C++ Standard Template Library (STL) provides the std::vector class, which represents a dynamic array. To use it, you must include the <vector> header:

Code
#include <vector>

std::vector<int> numbers; // Creates an empty vector of integers

Common Operations:

  • Append to End: The .push_back(value) method inserts an element at the end of the vector, automatically reallocating memory if needed.
  • Size: The .size() method returns the number of elements currently in the vector.
  • Safe Access: In addition to the [] operator, you can use the .at(index) method (e.g., numbers.at(0)), which throws an exception if the index is out of bounds.
Code
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores now contains {90, 85, 95}
std::cout << scores.size(); // Prints 3

Try it yourself

Упражнение#cpp.m5.l1.e1
Попыток: 0Загрузка…

Declare a std::vector of integers named numbers. Add the values 10, 20, and 30 inside it using the .push_back() method, then print its size using numbers.size().

Загрузка редактора…
Показать подсказку

Declare the vector with `std::vector<int> numbers;`, insert the three numbers with `.push_back(value)`, and print it with `std::cout << numbers.size();`.

Решение доступно после 3 попыток

Упражнение#cpp.m5.l1.e2
Попыток: 0Загрузка…

In main, a grades array of 5 elements is defined. Write a for loop to calculate the sum of all elements in the array, store it in the variable sum, and print it using std::cout.

Загрузка редактора…
Показать подсказку

Use a `for (int i = 0; i < 5; ++i)`loop and sum each element inside the loop with`sum += grades[i];`.

Решение доступно после 3 попыток

Quiz#cpp.m5.l1.q1
Готово

What is the correct method to append an element to the end of a std::vector in C++?

Code
std::vector<int> numbers; // come aggiungere il valore 50?
Варианты ответа