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

Метод data

Метод data класса array возвращает указатель на первый элемент внутреннего массива, который хранится внутри контейнера. Это позволяет получить прямой доступ к памяти, где расположены элементы, и использовать контейнер array совместно с функциями и алгоритмами, которые работают с обычными C-массивами. Метод не принимает параметров и возвращает указатель типа T*.

Синтаксис

arr.data()

Пример

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

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

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

1

Пример

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

#include <iostream> #include <array> using namespace std; int main() { array<int, 5> arr = {1, 2, 3, 4, 5}; int* ptr = arr.data(); ptr[0] = 10; for (int elem : arr) { cout << elem << " "; } return 0; }

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

10 2 3 4 5

Пример

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

#include <iostream> #include <array> using namespace std; void print(int* ptr, int size) { for (int i = 0; i < size; i++) { cout << ptr[i] << " "; } } int main() { array<int, 5> arr = {1, 2, 3, 4, 5}; print(arr.data(), arr.size()); return 0; }

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

1 2 3 4 5

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

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