Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.03.2012, 23:08   #1
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию Адрес register переменной

С++ начал изучать недавно, немного познав C#. Если верить Шилдту (Справочник по C++), переменная int с модификатором register, в случае наличия свободного регистра, будет хранится в нем. Но при этом ее адрес имеет стандартное числовое значение. То есть
Код:
register int x;
	int* y = &x;
	cout<<y;
выдаст какое-то 0x число. Так вот что это за число? Или где на самом деле лежит такая переменная?
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 08.03.2012, 18:38   #2
haruhi
Форумчанин
 
Аватар для haruhi
 
Регистрация: 05.10.2011
Сообщений: 368
По умолчанию

этот адрес будет указывать на ячейку памяти в которой будет храниться переменная в случае если все регистры заняты. а регистры как правило всегда заняты
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
haruhi вне форума Ответить с цитированием
Старый 09.03.2012, 02:34   #3
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

То есть они заняты даже если весь код состоит из этих трек строк?
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.
Lasur вне форума Ответить с цитированием
Старый 09.03.2012, 03:04   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

если вы применяете операцию при которой нужен адрес регистр-переменной, то она не будет регистровой(или просто выделиться зеркально-временное место в локальных переменных)
вообще смысла в MSVC++ в этой директиве по сути нет, там итак оптимизатор хорош.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Адрес и размер переменной Form_13 Общие вопросы Delphi 4 24.09.2011 12:29
Адрес переменной _-Re@l-_ Паскаль, Turbo Pascal, PascalABC.NET 16 30.12.2010 12:02
Адрес переменной _-Re@l-_ Общие вопросы .NET 3 25.12.2010 16:58
Адрес переменной kostyan777 Общие вопросы C/C++ 4 11.07.2010 22:16
Адрес переменной Pedro Общие вопросы Delphi 11 16.12.2008 13:03