В 2ip другой естественно показывает.
Но даже и без учета умножения во втором варианте много выражений вида s[i], а значит при вычислении таких выражений надо будет каждый раз выполнять сложение!
movsx eax, byte ptr [rdi + rcx]
movzx edx, byte ptr [rsi + rcx]но IOCP и например epoll отличаются настолько сильно, что их почти невозможно объединить общей высокоуровневой абстракцией
int (*pointer3d)[dim2][dim3];
int (*pointer2d)[dim3];