![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Участник клуба
Регистрация: 30.07.2009
Сообщений: 1,601
|
![]() Цитата:
Последний раз редактировалось _PROGRAMM_; 10.02.2013 в 12:52. |
|
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
![]()
[QUOTE=Базиля;1181095Интересно, почему глобальные по умолчанию нулевые, а в случае локальных компилятор не берет на себя такую ответственность ?[/QUOTE]Потому что так велит стандарт. Для того, чтоб обнулить переменные, будь они глобальные или локальные, нужен код. Для выполнения этого кода требуется время. Глобальные переменные инициализируются только раз, при запуске программы, локальные - каждый раз при вызове функции, т.е. этот код должен будет выполняться очень часто. Когда думали стандарт процессоры были медленными а компиляторы - не очень умными. Это сейчас можно написать int a = 0; a = 123; и компилятор уберет лишнее, а было время, когда компиляторы исправно сначала писали ноль, потом 123.
|
![]() |
![]() |
![]() |
#13 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Значит подготовить переменную к работе с ней. Создание переменных заключается в двух этапах, которые в пхп выражены через 1, а именно через объявление переменной. То есть Вы информируете компилятор/интерпретатор, что нуждаетесь в переменной. А дальше присваиваете ей какое-то начальное значение (инициализируете), чтобы быть уверенным что там содержится именно то, что вам нужно. Здесь приводилось много числовых примеров, но в контексте пхп они не совсем удачны, так как там отношения к переменным очень вольготно. Лучше за пример брать сложные структуры - экземпляры классов, они практически всегда нуждаются в подготовке после объявления.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 03.12.2009
Сообщений: 1,013
|
![]()
waleri
Smitt&Wesson _PROGRAMM_ Благодарю за подробное описание! Последний раз редактировалось Базиля; 11.02.2013 в 02:32. |
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]() Цитата:
Глобальные переменные будут проинициализированы один единственный раз - при запуске программы, а локальные - потребуется инициализировать при каждом вызове подпрограммы. Запросто может оказаться, что эта ( вы общем случае ненужная) инициализация будет потреблять больше ресурсов, чем весь остальной полезный код. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
что такое f. | spezzA | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 13.06.2011 16:21 |
Что такое хорошо, а что такое плохо... | EL_MoC | Microsoft Office Word | 6 | 14.04.2011 18:49 |
Что такое @? | k1r1ch | Общие вопросы Delphi | 11 | 11.09.2009 20:15 |
Что такое SE | LOPKOT | HTML и CSS | 5 | 31.08.2009 21:50 |
то такое мастерство в программировании, что такое мастер программист и что он может? | Cezar | Свободное общение | 29 | 02.06.2007 23:48 |