|
02.11.2011, 22:52
|
#1
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Область видимости
Подскажите: только в К::Б такой финт можно сделать?
int x;
void MyF(){
x+=10;
}
int main(){
int x=2;
MyF();
cout<<x<<endl;//х=2
getch();
return 0;
}
Только не надо про extern. Приведён конкретный (чисто синтетический) пример.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
02.11.2011, 22:55
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Область видимости
демонстрируется сокрытие глобальной переменной посредством локальной?
__________________
|
(Offline)
|
|
02.11.2011, 22:57
|
#3
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Область видимости
именно. Это по стандарту? (я просто предпочитаю не использовать глобальные объекты - обхожусь синглтоном, или придумываю им более адекватные, не коллизиящиеся имена)
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
02.11.2011, 23:00
|
#4
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Область видимости
Да это по стандарту.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.11.2011, 23:00
|
#5
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Область видимости
Гуд. Вопрос тогда - как в приведённом примере подучить доступ к глобальному Х после объявления локального.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
02.11.2011, 23:06
|
#6
|
Дэвелопер
Регистрация: 06.04.2009
Адрес: Запорожье
Сообщений: 1,500
Написано 1,011 полезных сообщений (для 4,642 пользователей)
|
Ответ: Область видимости
#include <iostream>
int x = -20;
void MyF(){
x+=10;
}
int main(){
int x = 2;
MyF();
std::cout << ::x << std::endl; // х == -10
return 0;
}
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.11.2011, 23:09
|
#7
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Область видимости
Точно! Совсем забыл про "::"
ps http://lib.ru/CPPHB/cpptut.txt 2.1.1 Область видимости
Если вы обозначаете глобальные переменные или
локальные переменные в большой функции такими именами, как i или x,
то сами напрашиваетесь на неприятности.
|
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 08:42.
|