|
||||
|
2.1.3 Время Жизни Если программист не указал иного, то объект создается, когда встречается его описание, и уничтожается, когда его имя выходит из области видимости, Объекты с глобальными именами создаются и инициализируются один раз (только) и «живут» до завершения программы. Объекты, определенные описанием с ключевым словом static, ведут себя так же. Например*: – * Команда #include «stream.h» была выброшена из примеров в этой главе для экономии места. Она необходима в примерах, производящих вывод, чтобы они были полными. (прим. автора) int a = 1; void f() (* int b = 1; // инициализируется при каждом // вызове f() static int c = 1; // инициализируется только один раз cout «„ " a = " «« a++ «« " b = " «« b++ «« " c = " «« c++ «« «\n“; *) main() (* while (a « 4) f(); *) производит вывод a = 1 b = 1 c = 1 a = 2 b = 1 c = 2 a = 3 b = 1 c = 3 Не инициализированная явно статическая (static) переменная неявно инициализируется нулем. С помощью операций new и delete программист может также создавать объекты, время жизни которых управляется непосредственно, см. #3.2.4. |
|
||