| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Приоритет типов.. |
| Автор: PuLN 3.9.2006, 17:12 |
| есть ли разница,каким по счету указывать типа данных при инициализации? есть ли значение для освобождения памяти? |
| Автор: Greeen 3.9.2006, 17:15 |
| PuLN, нифига себе сказал!! |
| Автор: PuLN 3.9.2006, 17:31 |
| ну вот чего то взбрело мне в голову... вот смотри,объявляешь ты переменные в какой-нибудь прогаммке простенькой,там все подряд,напимер: int c; char mass[10]={1,2,3,4}; double sum; как под них освобождается память? подряд?или сращу для всех? |
| Автор: En_t_end 3.9.2006, 17:40 |
| PuLN, в стековом порядке. |
| Автор: PuLN 3.9.2006, 17:46 |
| значит,есть разница,какой по порядку сделана инициализация....интересно.. |
| Автор: Daevaorn 3.9.2006, 17:53 |
| PuLN, разницы нет. Добавлено @ 18:03 Для не встроенных типов вызовутся деструкторы, а потом одной asm операцией изменится указатель вершины стека. |
| Автор: MAKCim 3.9.2006, 18:21 | ||
в данном случае, имхо, сразу для всех (изменяется указатель стека на сумарный размер всех данных) если бы были объекты не POD типа то вызывались бы деструкторы в порядке, обратном их определению |
| Автор: PuLN 3.9.2006, 18:55 |
| ага,ясно,спасибо! |
| Автор: rMaveric 3.9.2006, 19:56 | ||
| Зависит от компилятора и опций оптимизации. Но желательно объявлять переменные в порядке уменьшения размера занимаемой ими памяти. Тоесть в твоем примере лучше объявить так:
Особенно сильно это играет роль в структурах. Но если не ошибаюсь большинство оптимизаторов умеют распределять в памяти более-менее грамотно и не создается больших дыр, но всеравно лучше на всяк случай предерживаться правил, да и зачастую оптимизацией лучше пренебречь автоматической в пользу ручной |
| Автор: NextAlex 4.9.2006, 10:26 | ||
Все переменные всегда удаляются в порядке обратном их созданию, т.е. если переменные объявлялись
то удаляться они будут вот так
|
| Автор: PuLN 4.9.2006, 13:28 |
| ну да,в стековом...первый зашел,последний вышел.. |
| Автор: Sceptik 4.9.2006, 15:07 |
| PuLN, читай про выравнивание в структруах (классах). При простом Объявлении разницы нет. |
| Автор: knut 5.9.2006, 09:43 | ||
PuLN,
ето смотря как стек организован . Добавлено @ 09:45 извиняюсь за (ето) это |