|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|
две переменные с одинаковым именем16.07.2009, 15:33. Показов 10591. Ответов 24
Метки нет (Все метки)
Вопрос скорее теоретический:
Использую Visual C++ , запускаю debug и в окошечке переменных вижу, например, две переменные с именем i. Возникает такая ситуация, если в коде встречается несколько циклов типа for(int i = 0; ...). Причем, например, если цикл двойной, то вторая переменная не дублируется (по крайней мере, не всегда). Можно конечно для каждого цикла называть переменный по разному, но ведь по и идее они на то и локальные, чтобы не было конфликтов? Есть ли смысл с этим бороться? Если да, то как? Может ли хотя бы теоретически случится, что эти переменные перепутаются?
0
|
|
| 16.07.2009, 15:33 | |
|
Ответы с готовыми решениями:
24
Задание нескольких #region с одинаковым именем. Нормально ли это? Виртуальные функции с одинаковым именем и разным набором аргументов Создать два класса с одинаковым именем в разных пространствах имен |
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|||
| 16.07.2009, 15:40 | |||
|
0
|
|||
|
Айхрень...
306 / 176 / 7
Регистрация: 02.06.2009
Сообщений: 1,077
|
|
| 16.07.2009, 15:40 | |
|
Перепутаться скорее всего могут только, если цикл будет внутри другого цикла. А так в целом всё должно быть тип-том. Конечно, тогда нежелательно, чтобы одна из них была глобальной...
0
|
|
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
||
| 16.07.2009, 16:04 [ТС] | ||
|
циклы отдельно, все переменные локальные. По идее ничего не должно путаться, но настораживает. Решила спросить специалистов...
Добавлено через 5 минут 11 секунд
0
|
||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|||
| 16.07.2009, 16:09 | |||
|
кстати, приведите пример проблемного кода. *** вполне возможно, что это баг студии. она у вас не самая новая.
1
|
|||
|
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
|
|||||||
| 16.07.2009, 16:20 | |||||||
1
|
|||||||
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|||||||
| 16.07.2009, 16:37 [ТС] | |||||||
0
|
|||||||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 16.07.2009, 16:58 | ||
![]() не могли бы вы локализовать проблему, придумав маааленькую функцию/кусок кода, в котором возникает проблема.
0
|
||
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|||||||
| 16.07.2009, 17:17 [ТС] | |||||||
|
Вот тут та же проблема (2 i , но 1 j в окошке locals):
0
|
|||||||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
| 16.07.2009, 17:27 | |
|
2
|
|
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|
| 16.07.2009, 17:37 [ТС] | |
|
значит, так быть таки не должно? но это только проблема отображения и никак не влияет на выполнение программы?
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|||
| 16.07.2009, 17:39 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|
| 16.07.2009, 17:54 [ТС] | |
|
Ок, еще раз спасибо
0
|
|
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|||||||
| 16.07.2009, 18:00 | |||||||
|
а можно еще и не плодить переменных
0
|
|||||||
|
0 / 0 / 0
Регистрация: 12.04.2009
Сообщений: 47
|
|
| 16.07.2009, 18:02 [ТС] | |
|
тогда переменная уже не будет локальной, а меня учили что этого стоит избегать?
0
|
|
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
|
| 16.07.2009, 18:04 | |
|
0
|
|
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|||
| 16.07.2009, 18:08 | |||
|
Добавлено через 2 минуты 22 секунды
0
|
|||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||
| 16.07.2009, 18:15 | ||
|
во-вторых, время жизни переменной должно быть не больше, чем необходимо. в данном случае переменная i становится не нужной, когда мы выходим из второй пары вложенных циклов. в вашем же случае она будет видима до конца блока кода. и не факт что при модификации/сопровождении исходного кода переменная i всегда будет находиться в инвариантном состоянии. ничто не гарантирует того, что программист будет помнить каждый раз сбрасывать переменную в ноль при попытке её очередного использования. вы со мной не согласны? можете мне снизить репутацию ещё раз тогда, если вы от этого получаете удовлетворение
0
|
||
|
229 / 67 / 11
Регистрация: 02.06.2009
Сообщений: 280
|
|||
| 16.07.2009, 20:21 | |||
|
Будут проблемы с типом такой переменной, если функция вылезет за 1 экран - то попробуй вспомни, какой сейчас тип имеет эта переменная, если её переобъявили 2 раза под разными типами. Невозможность возвратить текущее значение итератора за пределы цикла.
0
|
|||
|
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
|
||||
| 16.07.2009, 20:29 | ||||
![]() дальнейшие нравоучения считаю бесполезными.
0
|
||||
| 16.07.2009, 20:29 | |
|
Помогаю со студенческими работами здесь
20
fputs и две переменные Нужно приравнять две переменные
Как сравнить две переменные string
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|