Корректен ли этот код для 64-битных систем?
Этот код заполняет массив от 0 до 1000000 используя указатели через небезопасный контекст. Вопрос заключается в том: корректен ли этот код для 64-битных систем? Если нет, то как его нужно переписать? Есть сомнение, что указатель будет указывать за пределы 32-битной области, а так как используется int произойдёт ошибка. Не понимаю как сделать указатель типа long.
private const int count = 1000000;
private readonly int[] arr = new int[count];
public void Test()
{
unsafe
{
fixed (int* ptr = arr)
for (var i = 0; i < count; i++)
{
*(ptr + i) = i;
}
}
}