int * array = new int [n ]; что на самом деле делает эта функция?

Причиной является различие между тем, как основанная ОС на базе Windows и основанная на Unix ОС хранят маркеры конца строки.

основанные на Windows операционные системы, благодаря их наследию DOS, хранят конец строки как пару символов - 0x0D0A (возврат каретки + перевод строки). Основанные на Unix операционные системы просто используют 0x0A ( перевод строки ). ^M Вы видите, визуальное представление 0x0D ( возврат каретки ).

dos2unix поможет с этим. Вероятно, также необходимо скорректировать источник сценариев, чтобы быть 'благоприятными для Unix'.

18
задан Eric Leschinski 7 July 2013 в 19:21
поделиться

1 ответ

new выделяет объем памяти, необходимый для хранения запрашиваемого объекта / массива. В этом случае n чисел int.

Затем указатель сохранит адрес для этого блока памяти.

Но будьте осторожны, этот выделенный блок памяти не будет освобожден, пока вы не скажете это, написав

delete [] array;
20
ответ дан 30 November 2019 в 07:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: