РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
213 of 815 menu

Метод data

Метод data класса vector возвращает указатель на первый элемент внутреннего массива, в котором хранятся данные вектора. Метод не принимает параметров. Полученный указатель можно использовать для доступа к элементам вектора через арифметику указателей или для передачи данных в функции, работающие с обычными массивами. Если вектор пуст, метод возвращает указатель, который нельзя разыменовывать.

Синтаксис

vec.data()

Пример

Давайте получим указатель на данные вектора и выведем первый элемент через разыменование:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; int* ptr = vec.data(); cout << *ptr << endl; return 0; }

Результат выполнения кода:

1

Пример

Давайте используем арифметику указателей, чтобы получить доступ к третьему элементу вектора:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; int* ptr = vec.data(); cout << ptr[2] << endl; return 0; }

Результат выполнения кода:

3

Пример

Давайте изменим элемент вектора через указатель, полученный методом data:

#include <iostream> #include <vector> using namespace std; int main() { vector<int> vec = {1, 2, 3, 4, 5}; int* ptr = vec.data(); ptr[0] = 10; cout << vec[0] << endl; return 0; }

Результат выполнения кода:

10

Смотрите также

  • метод at,
    который возвращает элемент по индексу с проверкой границ
  • метод front,
    который возвращает первый элемент вектора
  • метод back,
    который возвращает последний элемент вектора
  • метод size,
    который возвращает количество элементов вектора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить