Программисты больше не нужны!
Нужны ИИ инженеры! Хотите научиться? Вступайте в канал!
244 of 824 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить