| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > динамический массив структур |
| Автор: loopz 3.9.2012, 13:18 | ||
| посмотрел существующее вроде такое не встретил вопрос---цель создание структуры определенного типа(марка машины и год производства) это просто но есть еще цель спрашивать у пользователя количество машин то есть сделать так что в программе число структур (массив) зависел от введенного числа то есть мысль такая
но идет ошибка---что число массивов при объявлении должно быть константой ...по идее логично что программа хочет знать кол выделяемой памяти так вот как можно обойти эту проблему или что я делаю не так??? |
| Автор: azesmcar 3.9.2012, 13:46 | ||||
замени
на
|
| Автор: loopz 3.9.2012, 15:08 | ||||||||
пробовал...но возникла проблемы адрессации .....
выводит только последнее ....что весьма логично) пока моя мысля тормозит...может быть применить смещение по адресу &(*type).name + ----на размер используемого типа влево\вправо |
| Автор: bsa 3.9.2012, 17:28 | ||
|
| Автор: loopz 4.9.2012, 07:34 | ||
спасибо за помощь ) это немного не то что я хотел но очень интересно в плане чего то нового) а мой код окончательный такой
просто была цель выводить все введенные данные сразу вот) спасибо |
| Автор: borisbn 4.9.2012, 08:52 | ||
loopz, не хватает только удаления выделенного массива в конце
и ещё... так... повыделываться... как ты считаешь, по именам переменных, которые ты выбрал, можно понять за что они отвечают ? |
| Автор: loopz 4.9.2012, 10:35 |
| ну да но это просто урок из книги стивена прата ) а так там еще и комментов не хватает ))) воот а так да делет у меня есть конечно ) я просто до этого тему про new читал ...воот |
| Автор: borisbn 4.9.2012, 10:37 |
насколько я понимаю, там должно было быть про соответствующий delete |
| Автор: bsa 4.9.2012, 10:39 |
| loopz, комментарии пишут там, где алгоритм достаточно сложен. Если алгоритм прост, то достаточно просто самодокументируемого кода. А чтобы он был таким необходимо и достаточно давать разумные имена константам, переменным и функциям. |
| Автор: loopz 4.9.2012, 11:53 |
| спасибо учту) |
| Автор: borisbn 4.9.2012, 12:07 | ||
loopz, сравни свой код и этот
Добавлено через 7 минут и 1 секунду ну и напоследок... "How many cars you want to add" - неправильно. нужно "How many cars do you want to add" "Please enter the mark" - наверное, правильнее будет "model" или "brand"... хотя, могу ошибаться "here your choise" - неправильно. нужно "here is your choise" |
| Автор: loopz 4.9.2012, 14:00 | ||
Кстати о птичках спс за советы ) все по делу а вот у меня тогда еще вопрос ---
чем так лучше?? какие есть риски в объявлении всего пространства имен ??? |
| Автор: bsa 4.9.2012, 19:58 |
| loopz, риски в том, что у тебя в глобальное пространство имен попадает куча всего, что тебе не нужно. Таким образом, снижается количество "свободные" названий для функций и переменных. Более того, даже этот способ не рекомендуется. Нужно или всегда указывать пространство имен, или открывать нужные символы в очень узких областях видимости (внутри блока {}), или давать псевдонимы для пространств имен (например: namespace popt = boost::program_options и в дальнейшем использовать popt вместо boost::program_options). |