|
|
|
новичок
      
участник
Last Login: 08.01.2007 20:35
Сообщ.: 7,
Visits: 21
|
|
| Как задать динамически массив? Какой заголовчный файл необходим? Int *B=new A[n] n=100 Заработает ли?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.08.2008 10:18
Сообщ.: 143,
Visits: 1 405
|
|
| сам скомпилировать не пробовал? посмотри топик ниже - "о длинне массива". В C++ нет динамических массивов, есть альтернатива - классы из STL. В любом случае, размер массива определяется на этапе компиляции. Если переменная n у тебя глобальная или локальная с статическим классом памяти, и неинициализированна, тогда такая строка предполагает создание массива с длинной 0, так как такие переменные неинициализированные явно получают default значения 0. Если n - локальная с автоматическим классом памяти, тогда, при отсутствии инициализации, переменная содержит случайное число и какой размер массива ты получишь - вообще неизвестно.
Men in black
|
|
|
|
|
новичок
      
участник
Last Login: 08.01.2007 20:35
Сообщ.: 7,
Visits: 21
|
|
| Спасибо! Значит буду изучать классы из stl.
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| Вячеслав немного погорячился насчет отутствия динамических массивов. Они есть. Однако он совершенно прав насчет STL. Никаких особых заголовочных файлов для работы с динамическими массивами не нужно. Код тут совершенно простой: int size = 100; int* array = new int[size]; .... delete[] array;
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.08.2008 10:18
Сообщ.: 143,
Visits: 1 405
|
|
Я просто подумал, что под динамическими массивами понимались массивы с изменяемым размером. Т.е. создав массив - потом изменять его размер. Динамические массивы я всегда понимал в таком контексте. А, иначе, в каком смысле они могут быть динамическими? На это меня подтолкнула строка у spartak17 : int * B = new A[n]; n =100; , где после n=100 размер должен был бы измениться.
Men in black
|
|
|
|
|
Supreme Being
модератор
Last Login: 04.05.2008 13:32
Сообщ.: 7 240,
Visits: 65 445
|
|
| А я всегда воспринимал динамический массив как область памяти точный размер которой становится известным на этапе выполнения программы. Но только сейчас понял что не правильно трактовал вопрос spartak17 и поторопился с ответом. Он хотел именно массив с изменяемым размером. В таком контексте твой ответ про STL в самую точку.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.08.2008 10:18
Сообщ.: 143,
Visits: 1 405
|
|
Терминология, однако. Как - то, вот, сложилось у меня такое представление о них(д. массивах).
Men in black
|
|
|
|
|
новичок
      
участник
Last Login: 08.01.2007 20:35
Сообщ.: 7,
Visits: 21
|
|
| Воот картина совершенно прояснилась..А то в университете рассказывали про динамический массив... просто я не так понял... а теперь окончательно разобрался... еще раз спасибо )
|
|
|
|