Нахождение количества элементов в массиве

Для настоящего массива количество элементов равно sizeof(arr) / sizeof(arr[0]). В C++17 удобнее std::size(arr), который в данном примере вернёт 10.

Короткий ответ

Что ответить на собеседовании

Для настоящего массива количество элементов равно sizeof(arr) / sizeof(arr[0]). В C++17 удобнее std::size(arr), который в данном примере вернёт 10.

Подробный разбор

Ответ с пояснениями

Условие

Составьте программу, которая вычислит количество элементов в массиве.

# include <iostream>

int main() {
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
}

Ответ

Для настоящего массива количество элементов равно sizeof(arr) / sizeof(arr[0]). В C++17 удобнее std::size(arr), который в данном примере вернёт 10.

#include <iostream>
#include <iterator>

int main() {
    int arr[] = {1,2,3,4,5,6,7,8,9,10};
    std::cout << std::size(arr) << '\n';
}

Формула с sizeof перестаёт работать, если arr уже является указателем, например параметром функции int arr[]. Тогда размер передают отдельно, сохраняют тип массива через ссылку или используют контейнер со своим size.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее