Форум программистов, компьютерный форум CyberForum.ru

Выделяется ли память для ссылки? - C++

Восстановить пароль Регистрация
 
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
27.01.2013, 22:59     Выделяется ли память для ссылки? #1
Добрый день есть код:
C++
1
2
3
char a = 'd';
char *ptr = &a;
char &link = a;
Вопрос в том, что такое link? Отдельный объект или просто ссылка? И если объект, то сколко памяти для него выделяется. Спасибо.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.01.2013, 23:01     Выделяется ли память для ссылки? #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вообще, это ссылка, т.е. памяти под нее будет выделяться столько же, сколько и под указатель.
Однако оптимизирующий компилятор выкинет эту ссылку из кода, поэтому лишняя память тратится не будет вообще.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
27.01.2013, 23:28     Выделяется ли память для ссылки? #3
ссылка есть синтаксическая обертка над указателем, так что все как diagon сказал
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.01.2013, 23:49     Выделяется ли память для ссылки? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
8.3.2/4, память под ссылку выделяется исключительно на усмотрение компилятора.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
28.01.2013, 00:00     Выделяется ли память для ссылки? #5
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
8.3.2/4, память под ссылку выделяется исключительно на усмотрение компилятора.
так же как память может быть не выделена под переменную, так что без разницы
в стандарте за счет сферической модели памяти вообще все очень сферически описывается
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11841 / 6820 / 771
Регистрация: 27.09.2012
Сообщений: 16,911
Записей в блоге: 2
Завершенные тесты: 1
28.01.2013, 00:50     Выделяется ли память для ссылки? #6
В дебаге под ссылку выделяется память. В релизе же если есть возможность выкинуть из кода ссылку, то скорее всего компилятор это сделает. Но все это опять же зависит от компилятора.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 02:56     Выделяется ли память для ссылки?
Еще ссылки по теме:

C++ Выделяется ли память?
C++ Как выделяется память на стеке и на куче? Когда нужна ручная очистка?
Не выделяется память в динамической памяти C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xtorne21st
интересующийся
300 / 271 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.01.2013, 02:56  [ТС]     Выделяется ли память для ссылки? #7
Цитата Сообщение от Croessmah Посмотреть сообщение
В дебаге под ссылку выделяется память. В релизе же если есть возможность выкинуть из кода ссылку, то скорее всего компилятор это сделает. Но все это опять же зависит от компилятора.
Да я уже провел на gcc. Если с ключом -O0 то есть память под ссылку, а с -O2 уже нет.
Yandex
Объявления
28.01.2013, 02:56     Выделяется ли память для ссылки?
Ответ Создать тему
Опции темы

Текущее время: 00:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru