Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Безусловный переход или глобальные переменные / 11 сообщений из 11, страница 1 из 1
12.05.2017, 01:28
    #39451739
Ёшкин_Кот
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Доброго времени суток!!!
Задам вопрос, но для кого-то он покажется глупым.
Для выхода из вложенных циклов можно эти циклы затолкать в отдельную функцию или процедуру и вместо метки просто выходить из функции/процедур. Минус такого метода это глобальные переменые, с которыми будет работать функция/процедура.
Вопрос в следующем - глобальные переменные еще большее зло или я что-то совсем не так понимаю?
...
Рейтинг: 0 / 0
12.05.2017, 02:26
    #39451744
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Ёшкин_КотВопрос в следующем - глобальные переменные еще большее зло или я что-то совсем не так понимаю?
Ты что-то начал подозревать.
Зло - не безусловный переход по метке, и не глобальная переменная - сами по себе.
Зло - менее очевидный и менее гибкий код.

Если задача требует гото(и оно позволяет написать читабельный код), то нужно его использовать.
С глобальными переменными - так же.

Проблема гото в 2017-м году надумана, она была, когда фортрановцы и кубайсиковцы, свое гото лепили на каждом шагу, пописывая код на структурных языках типа си и паскаля.
...
Рейтинг: 0 / 0
12.05.2017, 07:01
    #39451756
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
С глобальной переменной код становится однопоточным.
...
Рейтинг: 0 / 0
12.05.2017, 07:10
    #39451757
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Dima TС глобальной переменной код становится однопоточным.
не обязательно, в TLS можно положить глобальную переменную
...
Рейтинг: 0 / 0
12.05.2017, 07:39
    #39451764
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Изопропилв TLS можно положить глобальную переменную
В XP с этим есть проблемы
https://msdn.microsoft.com/ru-ru/library/6yh4a9k1.aspx В операционных системах Windows до Windows Vista __declspec(thread) имеет некоторые ограничения. Если библиотека DLL объявляет любые данные или объекты как __declspec(thread), это может привести к сбою защиты при динамической загрузке. После загрузки библиотеки DLL с помощью метода LoadLibrary всякий раз, когда код ссылается на данные __declspec (thread), происходит сбой в системе. Поскольку пространство глобальных переменных для потока выделяется во время выполнения, размер данного пространства основан на расчете требований приложению, а также требований всех библиотек DLL, которые привязываются статически. При использовании LoadLibrary невозможно расширить это пространство, чтобы объявлять локальные переменные потока с помощью __declspec(thread). Используйте API-интерфейсы TLS, такие как TlsAlloc, в вашей библиотеке DLL, чтобы выделить TLS, если DLL может загружаться с помощью LoadLibrary.
...
Рейтинг: 0 / 0
12.05.2017, 07:41
    #39451765
YesSql
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Ёшкин_КотДоброго времени суток!!!
Задам вопрос, но для кого-то он покажется глупым.
Для выхода из вложенных циклов можно эти циклы затолкать в отдельную функцию или процедуру и вместо метки просто выходить из функции/процедур. Минус такого метода это глобальные переменые, с которыми будет работать функция/процедура.
Вопрос в следующем - глобальные переменные еще большее зло или я что-то совсем не так понимаю?
Зачем глобальные переменные, можно использовать темплэйты.
...
Рейтинг: 0 / 0
12.05.2017, 08:19
    #39451776
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Dima TС глобальной переменной код становится однопоточным.
Транзакционная память - наше всё.
Ну и опять же, не только лишь весь код - должен быть многопоточным.
...
Рейтинг: 0 / 0
12.05.2017, 09:25
    #39451812
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Dima TИзопропилв TLS можно положить глобальную переменную
В XP с этим есть проблемы
https://msdn.microsoft.com/ru-ru/library/6yh4a9k1.aspx В операционных системах Windows до Windows Vista __declspec(thread) имеет некоторые ограничения. Если библиотека DLL объявляет любые данные или объекты как __declspec(thread), это может привести к сбою защиты при динамической загрузке. После загрузки библиотеки DLL с помощью метода LoadLibrary всякий раз, когда код ссылается на данные __declspec (thread), происходит сбой в системе. Поскольку пространство глобальных переменных для потока выделяется во время выполнения, размер данного пространства основан на расчете требований приложению, а также требований всех библиотек DLL, которые привязываются статически. При использовании LoadLibrary невозможно расширить это пространство, чтобы объявлять локальные переменные потока с помощью __declspec(thread). Используйте API-интерфейсы TLS, такие как TlsAlloc, в вашей библиотеке DLL, чтобы выделить TLS, если DLL может загружаться с помощью LoadLibrary.
Это никак не мешает работать OpenGl
...
Рейтинг: 0 / 0
12.05.2017, 09:25
    #39451813
Siemargl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
Чегой то вы умничаете? =)

Человек наверное про Бейсик спрашивает, в котором нет break/continue
...
Рейтинг: 0 / 0
12.05.2017, 09:41
    #39451823
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
ИзопропилЭто никак не мешает работать OpenGl
Невозможно и неудобно это разные вещи. Я про второе .
...
Рейтинг: 0 / 0
12.05.2017, 10:11
    #39451847
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Безусловный переход или глобальные переменные
SiemarglЧегой то вы умничаете? =)

Человек наверное про Бейсик спрашивает, в котором нет break/continue
ну он же не сказал, на чём он пишет.

Может лямбды ему помогут дабы не пользовать глобальные переменные.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Безусловный переход или глобальные переменные / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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