Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmFnLP 283 of 390 menu
◀ ▶

Параметр-вектор функции в C++

Давайте теперь будем передавать параметром функции std::vector. Если тип записан без ссылки, функция получает копию вектора: все изменения параметра внутри тела не затрагивают исходный вектор в main.

Запишем функцию, которая обходит переданный вектор и печатает каждый элемент:

#include <iostream> #include <vector> void show(std::vector<int> arr) { for (int num : arr) { std::cout << num << "\n"; } } int main() { std::vector<int> arr2 = {1, 2, 3}; show(arr2); return 0; }

Функция может вернуть сумму элементов копии вектора:

#include <iostream> #include <vector> int func(std::vector<int> arr) { int num1 = 0; for (int num2 : arr) { num1 += num2; } return num1; } int main() { std::vector<int> arr2 = {1, 2, 3}; std::cout << func(arr2) << "\n"; return 0; }

Если внутри функции добавить элемент в параметр, длина копии вырастет, а вектор вызывающего кода останется прежним. Запишем такой пример и выведем размер в main:

#include <iostream> #include <vector> void func(std::vector<int> arr) { arr.push_back(99); } int main() { std::vector<int> arr2 = {1, 2, 3}; func(arr2); std::cout << arr2.size() << "\n"; return 0; }

Дан вектор:

std::vector<int> arr = {1, 2, 3, 4, 5};

Сделайте функцию, которая выведет элементы этого вектора в консоль.

Дан вектор:

std::vector<int> arr = {1, 2, 3, 4, 5};

Сделайте функцию, которая вернет сумму элементов этого вектора.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить