Я предполагаю, что внутреннее кастинг происходит, когда мы пишем: arr[i]
(что эквивалентно *(arr+i)
). Потому что i
может быть, например, short
, int
или long
или беззнаковый вариант любого из этих трех.
Итак, мой вопрос прост: какой тип должен i
быть таким, чтобы не происходило никакого внутреннего преобразования? Чтобы код мог работать наиболее эффективно?
Грубая догадка: size_t
?