int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
void *pointer = &a;
for(int i=0; i<10; i++)
std::cout << *((int *)pointer + i) << std::endl;
Есть такой код, который пробегается по массиву интов через указатель типа void. Код работает.
Вопрос такой - почему достаточно увеличивать pointer на 1, чтобы перейти к следующему элементу?
Старший товарищ предлагал увеличивать на i * sizeof(int) и это выглядит разумным, но не работает.