@Yonghwa
121

Как найти последний элемент в int массиве?

Как найти последний эллемент в массиве int?
Без векторов
  • Вопрос задан
  • 4283 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Если массив задан статически:
int alpha[100];

alpha[99]=4242;

const int last = alpha [ (sizeof(alpha) / sizeof(alpha[0]))-1];


Если у вас есть только указатель на начало массива - то никак. Храните длину отдельно.
Ответ написан
Комментировать
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Никак, если его не помечать.

Для этого в char-строках ("C-strings", "zero-terminated strings") добавляют в конец элемент со значением '\0' (нуль-символ), на наличие которого опираются стандартные функции, вроде strlen(const char*), которая считает символы до первого зеро-терминатора.

ЗЫ Теоретически, есть еще некоторый allocation header, который находится перед выделяемым динамически (то есть только в хипе) буфером, на который ориентируется free(void*), но это никак не регламентируется стандартом.

UPD: Начиная с C++11 у нас есть std::array, который фактически оборачивает буфер в объект.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы