powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программирование на Русском Языке!
25 сообщений из 301, страница 9 из 13
Программирование на Русском Языке!
    #36887722
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo
Что такого нельзя сделать, без глобальных переменных, в случае ООП?

сначала нужно разобраться, что мы понимаем говоря "глобальная переменная"

вот выдержка из вики
вики
Локальные и глобальные переменные. Области видимости.

По зоне видимости различают локальные и глобальные переменные. Первые доступны только конкретной подпрограмме, вторые — всей программе. С распространением модульного и объектного программирования, появились ещё и общие переменные (доступные для определённых уровней иерархии подпрограмм). Область видимости иногда задаётся классом памяти. Ограничение видимости может производиться путём введения пространств имён.

к чему отнести общие переменные?
к глобальным или локальным? а ответ прост - все относительно.

я под словом глобальная переменная - подразумеваю переменные объявленные вне ф-и, т.е. поля классов я отнес к глобальным.

но и это определение не работает для языков с развитым механизмом подпрограмм(паскаль, схема, ада).


а вывод один, глобальные переменные как и безусловный переход, используются нами повсюду, и поэтому нужно учится с ними обращаться.
также, для улучшения код чаще всего используют кастрированные версии этих понятий. Например: прерывание выполнения цикла, или использование общих переменных.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887738
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo
Короче я от глобальных переменных избавляюсь любой ценой.
за что я люблю языки с подпрограммами, что локальные подпрограммы могут ссылаться на параметры внешней подпрограммы, что позволяет избавится от глобальных переменных.

но как это сделать в языке Си?
всегда передавать в ф-ю контекст?
а если гарантировано, что контекст всегда один, то зачем лепить лишнюю сущность?.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887778
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчёт переменных - не знаю. Но глобальное "окружение" - всегда существует. Это сеть, файловая система, общая память для своих "потоков". Переменные окружения пользователя. Реестр. Системные переменные, доступные для модификации. Часы, дата-время, локаль e.t.c.

И нет смысла объявлять священные войны ТАКОМУ глобализму.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36887822
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНасчёт переменных - не знаю. Но глобальное "окружение" - всегда существует. Это сеть, файловая система, общая память для своих "потоков". Переменные окружения пользователя. Реестр. Системные переменные, доступные для модификации. Часы, дата-время, локаль e.t.c.

И нет смысла объявлять священные войны ТАКОМУ глобализму.
то же самое можно сказать и о goto.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888025
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так и разговор о том, что явный GoTo использовать можно и нужно - НО! там, где это оправдано. Поскольку бессистемное нарушение структуры программы приводит к непредсказуемым последствиям.
В качестве примера - если вы при тестировании кода не воспользовались отладчиком - флаг вам в руки, чем вы там наполнили процедуру...
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888128
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerXDiaBLoКороче я от глобальных переменных избавляюсь любой ценой. Один раз даже в синглтон запрятал

Она там в основном и используется, так что не надо ха-ха :)
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888129
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNXDiaBLo
Что такого нельзя сделать, без глобальных переменных, в случае ООП?

сначала нужно разобраться, что мы понимаем говоря "глобальная переменная"

вот выдержка из вики
вики
Локальные и глобальные переменные. Области видимости.

По зоне видимости различают локальные и глобальные переменные. Первые доступны только конкретной подпрограмме, вторые — всей программе. С распространением модульного и объектного программирования, появились ещё и общие переменные (доступные для определённых уровней иерархии подпрограмм). Область видимости иногда задаётся классом памяти. Ограничение видимости может производиться путём введения пространств имён.

к чему отнести общие переменные?
к глобальным или локальным? а ответ прост - все относительно.

я под словом глобальная переменная - подразумеваю переменные объявленные вне ф-и, т.е. поля классов я отнес к глобальным.

но и это определение не работает для языков с развитым механизмом подпрограмм(паскаль, схема, ада).


а вывод один, глобальные переменные как и безусловный переход, используются нами повсюду, и поэтому нужно учится с ними обращаться.
также, для улучшения код чаще всего используют кастрированные версии этих понятий. Например: прерывание выполнения цикла, или использование общих переменных.
А я подразумеваю непосредственно глобальные переменные. То что в классах, раздражает меньше.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888131
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНасчёт переменных - не знаю. Но глобальное "окружение" - всегда существует. Это сеть, файловая система, общая память для своих "потоков". Переменные окружения пользователя. Реестр. Системные переменные, доступные для модификации. Часы, дата-время, локаль e.t.c.

И нет смысла объявлять священные войны ТАКОМУ глобализму.
Не, я чисто про то что вне классов и функций, лишний раз не стоит использовать, неудобно это. Когда иначе никак, и идей нет по этому поводу, я их оставляю, не придумываю фигню, но когда есть способы лучше, то избавляюсь :) Просто видимо под глобальными переменными я подразумеваю менее обширное понятие.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888135
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMНу так и разговор о том, что явный GoTo использовать можно и нужно - НО! там, где это оправдано. Поскольку бессистемное нарушение структуры программы приводит к непредсказуемым последствиям.
В качестве примера - если вы при тестировании кода не воспользовались отладчиком - флаг вам в руки, чем вы там наполнили процедуру...
Как я однажды читал про игры, если где-то используется портал, значит просто карта спроектирована неправильно. Но иногда их просто используют как фишку, и ничего страшного.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888140
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoКак я однажды читал про игры, если где-то используется портал, значит просто карта спроектирована неправильно.
Глупость ты читал.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888396
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonXDiaBLoКак я однажды читал про игры, если где-то используется портал, значит просто карта спроектирована неправильно.
Глупость ты читал.
Да нет, вполне разумно. Портал соединяет участки карты, можно сделать чтобы это не требовалось, спроектировав карту иначе.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888668
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoДа нет, вполне разумно. Портал соединяет участки карты, можно сделать чтобы это не требовалось, спроектировав карту иначе.
Добавление на карту порталов - это добавление нового измерения [в котором портальные ворота оказываются близки]. Утверждение про "спроектировав карту иначе" - попытка сказать, что трёхмерную карту можно без потерь перенести на плоскость.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888736
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLomaytonXDiaBLoКак я однажды читал про игры, если где-то используется портал, значит просто карта спроектирована неправильно.
Глупость ты читал.
Да нет, вполне разумно. Портал соединяет участки карты, можно сделать чтобы это не требовалось, спроектировав карту иначе.
Портал сделан потому, что Левел-дизайнер проектировал фентезийный мир по соотв. сценарию. И ошибки в программах здесь непричём. Я много играл в игры и нигде не встрелал "порталов-по-ошибке".
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888787
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonЯ много играл в игры и нигде не встрелал "порталов-по-ошибке".
Не, ну есть такое. Например, типичная возможность видеть и стрелять сквозь стены на стыках :)
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888926
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerXDiaBLoДа нет, вполне разумно. Портал соединяет участки карты, можно сделать чтобы это не требовалось, спроектировав карту иначе.
Добавление на карту порталов - это добавление нового измерения [в котором портальные ворота оказываются близки]. Утверждение про "спроектировав карту иначе" - попытка сказать, что трёхмерную карту можно без потерь перенести на плоскость.
Не, ну фиг знает, кстати в Думе порталы были? Я не помню просто.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36888960
Mozok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLo
Не, ну фиг знает, кстати в Думе порталы были? Я не помню просто.
Да.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889048
freebrainz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNjunior idiotegorychда занафига?
Хотя бы для того, чтобы не видеть такого ужаса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
bool break_all = false;
for(...) {
	for(...) {
		for(...) {
			...
			if(...) {
				break_all = true;
				break;
			}
		}
		if( break_all )
			break;
	}
	if( break_all )
		break;
}
Хотя "учить" -- это, конечно, громко сказано. Но выбивать стереотипную дурь "ни в коем случае ни при каких обстоятельствах не использовать goto" -- надо вполне. Особенно если речь идёт о каком-нибудь языке типа VB6 (в котором нет continue, и иногда попытка обойтись if-ами выглядит удручающе ужасной).

ну break - это тоже goto

Извращение в чистом виде. Используйте while/repeat и будет вам счастье.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889055
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
freebrainzИзвращение в чистом виде. Используйте while/repeat и будет вам счастье.
Во, хорошая идея.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889081
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
while/repeat никак не решает проблему выхода из множества вложенных циклов.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889134
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonwhile/repeat никак не решает проблему выхода из множества вложенных циклов.
Разве? А если подумать?
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889306
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDiaBLoНе, ну фиг знает, кстати в Думе порталы были? Я не помню просто.
Были. Например, там был очаровательный уровень, где-то вроде седьмого, где в одной из комнат ты вроде начинаешь палить из безопасного места по толпе импов, а они поворачиваются к тебе и через портал прыгают к тебе за спину. Вот было бы интересно предложение по перепроектированию
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889358
junior  idiot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
XDiaBLomaytonwhile/repeat никак не решает проблему выхода из множества вложенных циклов.
Разве? А если подумать?
Даже если очень хорошо подумать -- не решает.
И не забывайте, что for -- обобщённый while ("while(...)" = "for(;;...)").
Не забывайте, что в общем случае после окончания внутреннего цикла и до окончания внешнего цикла может находиться дополнительный код.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889378
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerXDiaBLoНе, ну фиг знает, кстати в Думе порталы были? Я не помню просто.
Были. Например, там был очаровательный уровень, где-то вроде седьмого, где в одной из комнат ты вроде начинаешь палить из безопасного места по толпе импов, а они поворачиваются к тебе и через портал прыгают к тебе за спину. Вот было бы интересно предложение по перепроектированию
Открыть сзади дверцу, откуда вылезет толпа импов, и ты окружён.
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889384
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotXDiaBLomaytonwhile/repeat никак не решает проблему выхода из множества вложенных циклов.
Разве? А если подумать?
Даже если очень хорошо подумать -- не решает.
И не забывайте, что for -- обобщённый while ("while(...)" = "for(;;...)").
Не забывайте, что в общем случае после окончания внутреннего цикла и до окончания внешнего цикла может находиться дополнительный код.
Блин, трудно это рассматривать без примера :(
...
Рейтинг: 0 / 0
Программирование на Русском Языке!
    #36889431
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junior idiotДаже если очень хорошо подумать -- не решает.
Если хорошо подумать - то решает. Другой вопрос, что у такого решения есть другие недостатки, куда более существенные
...
Рейтинг: 0 / 0
25 сообщений из 301, страница 9 из 13
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Программирование на Русском Языке!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]