![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
есть код:
на VS он дает ворнинги, но результат соответствененно 1 и 2 на билдере ни единого ворнинга, а результат 1 и <большое число> если кому не лень, объясните, можно ли вообще так писать (по стандарту) и почему? ЗЫ. по названию темы ясно, что вопрос ртфм'овский. но мой инглиш не настолько крут, чтоб я мог что-то стоящее найти из стандарта. потому просьба умникам не язвить, а кому не лень - доступно ответить |
|||
|
||||
| Mad |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Эксперт Сообщений: 656 Регистрация: 18.10.2004 Где: Одесса Репутация: 7 Всего: 19 |
ты внутри блока переопределяеш переменную
вот почему билдер сбрасывает ее значение в ноль при этом и не дает предупреждения - это вопрос Добавлено через 33 секунды
|
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
Mad, вопрос и заключался в том, что происходит, и насколько это корректно.
билдер не сбрасывает как раз, а берет мусор, а студия использует то значение i, что вне внутреннего блока archimed7592, даже не знаю, что ответить. И спасибо, вроде ответ там есть, но я его не понял совершенно :( Был бы искренне признателен, если бы кто-нить в нескольких словах хотя-бы (русских) объяснил, насколько корректен код (уже другой, тут вопрос более четко обозначен):
поскольку на VS 2005 он выводит: Operator ++ Constructor что мне не очень нравится |
|||
|
||||
| archimed7592 |
|
||||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Суть в том, что запись
Вне зависимости от того, были ли в других областях видимости(в тех, что "содержат" текущую) объявления имени x, равносильна записи
В случае с vC - ты используешь объект ещё до его конструирования. Добавлено @ 20:24 Нравится тебе это или нет - такого правило стандарта. По приведённой мною ссылке можно увидеть пример, когда это имя используется не для того, что воспользоваться им как недоконструированным объектом, а для того, чтобы взять адрес этого объекта. Это сообщение отредактировал(а) archimed7592 - 30.10.2007, 20:24 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||||
|
|||||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
спасибо
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |