Почему массив выводит что-то, если он пустой?
Начал изучать массивы и столкнулся с вопросом, почему данный массив что-либо выводит, если он будто бы пустой.
int val[] = {};
cout << val[0]; // -136178632
cout << val[1]; // 1
Ответы (1 шт):
Автор решения: Александр Козлов
→ Ссылка
ну ты вышел за границы массива и тебе просто мусор из памяти скидывает
val[] оно же int* val; - указатель на первый элемент массива(нулевой) int == 4 байта, значит ты сдвинулся допустим с ячейка 0x0016 на 0x0020, оттуда ты достал единицу. можешь перезапустить ide и цифры скорее всего будут другими, а могут повториться. зависит от того какой участок памяти сейчас доступен.