| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > создание и уничтожение переменных |
| Автор: azer88 9.10.2011, 20:05 | ||
мне нужно знать когда создается переменные a и x и когда они уничтожаются
создается a, потом x, потом x уничтожаются, а в конце уничтожаются a. правильно ли мой вариант? |
| Автор: newbee 9.10.2011, 20:09 |
| а создается перед входом в мэйн, после выхода - уничтожается. х создается перед (каждым!) входом в ф, после выхода уничтожается. |
| Автор: ShadowC 9.10.2011, 21:20 | ||
в С++ алгоритм выполнения функций построен из стеков,каждый стек это функция,правило простое - последним вошел первым вышел,поэтому да ты правильно решил что а живет до тех пор пока выполняется функция main
y - последним создается и первым уничтожается,пока жива z жив x и a,но если пометить переменную как static она не будет уничтожаться а будет хранится все время выполнения программы,но будет известна только в теле своей функции или блока в зависимости от того где она обьявлена. |
| Автор: borisbn 10.10.2011, 11:16 | ||||
http://liveworkspace.org/code/3145f8cdfc60245e92b4b13e0510d03f
azer88, возьми этот LifeTime. Пригодится при изучении. |
| Автор: ShadowC 10.10.2011, 13:05 |
| помоему адреса ты тут рановато вспомнил,он еще не изучает указатели |
| Автор: newbee 10.10.2011, 13:11 |
| ShadowC, а отличать переменные ты как будешь? Да, можно внутрь объекта передавать идентифицирующие строки, при копировании добавлять префикс "copy of", но... зачем, если есть указатели?)) |
| Автор: ShadowC 10.10.2011, 14:26 | ||
да,но в неумелых раках указатели оружие массового поражения |
| Автор: mes 10.10.2011, 14:37 |
поэтому использовать адрес как идентификатор объекта ни в коем случае нельзя ?! Добавлено через 1 минуту и 1 секунду а где в примере используются указатели ?! |
| Автор: newbee 10.10.2011, 14:39 |
| Он аккуратно, read-only ;) |