Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
#1

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

27.01.2013, 22:59. Просмотров 707. Ответов 6
Метки нет (Все метки)

Добрый день есть код:
C++
1
2
3
char a = 'd';
char *ptr = &a;
char &link = a;
Вопрос в том, что такое link? Отдельный объект или просто ссылка? И если объект, то сколко памяти для него выделяется. Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2013, 22:59
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выделяется ли память для ссылки? (C++):

Неправильно выделяется память для массива - C++
не правильно выделяется память для массива double *CDispersia_SPMDlg::Function_Spectr(double * _y_noise, int yslovie, double...

Какую структуру имеет память которая выделяется для роботы программы на С++ - C++
Какую структуру имеет память которая выделяется для роботы программы на С++?

Если память для объекта выделяется динамически (строка 33), сортировка sort не работает - C++
Если память для объекта выделяется динамически (строка 33), сортировка sort не работает, если память не выделять, все работает. Как...

Выделяется ли память? - C++
Доброе время суток! У меня есть BYTE *pOutData = NULL; Объясните пожалуйста что происходит в следующем: strcpy(cToken, "Задан...

Не выделяется память - C++
#include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; class DynArray { public: int size, end; int...

Не выделяется память в динамической памяти - C++
Подскажите пожалуйста , почему при выполнении operator + (вызов 114 строка) не выделяется память в динамической области ? Получаю...

6
diagon
Higher
1930 / 1196 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
27.01.2013, 23:01 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вообще, это ссылка, т.е. памяти под нее будет выделяться столько же, сколько и под указатель.
Однако оптимизирующий компилятор выкинет эту ссылку из кода, поэтому лишняя память тратится не будет вообще.
3
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
27.01.2013, 23:28 #3
ссылка есть синтаксическая обертка над указателем, так что все как diagon сказал
1
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
27.01.2013, 23:49 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
8.3.2/4, память под ссылку выделяется исключительно на усмотрение компилятора.
5
alex_x_x
бжни
2450 / 1655 / 84
Регистрация: 14.05.2009
Сообщений: 7,162
28.01.2013, 00:00 #5
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
8.3.2/4, память под ссылку выделяется исключительно на усмотрение компилятора.
так же как память может быть не выделена под переменную, так что без разницы
в стандарте за счет сферической модели памяти вообще все очень сферически описывается
0
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
28.01.2013, 00:50 #6
В дебаге под ссылку выделяется память. В релизе же если есть возможность выкинуть из кода ссылку, то скорее всего компилятор это сделает. Но все это опять же зависит от компилятора.
2
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
28.01.2013, 02:56  [ТС] #7
Цитата Сообщение от Croessmah Посмотреть сообщение
В дебаге под ссылку выделяется память. В релизе же если есть возможность выкинуть из кода ссылку, то скорее всего компилятор это сделает. Но все это опять же зависит от компилятора.
Да я уже провел на gcc. Если с ключом -O0 то есть память под ссылку, а с -O2 уже нет.
1
28.01.2013, 02:56
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2013, 02:56
Привет! Вот еще темы с ответами:

На каком этапе выделяется статическая память - C++
Если я создаю синглтон Маейрса: class Singleton { public: static Singleton& Instance() { static Singleton...

Как выделяется память под массив string? - C++
В общем читаю книжку, там объявлены два массива int* p = new int, int* v = new string... бла бла бла ....а потом -> ...После резервирования...

Объясните как выделяется память под умные указатели - C++
Читаю книгу Праты, не могу понять этот абзац, а точнее применение операторов new и new и delete и delete с ними. Почему нельзя...

Не выделяется память. выдаёт ошибку на строке st[m].fam = new char[]; - C++
#include <stdio.h> #include <stdlib.h> #include <conio.h> #include <iostream.h> #include <iomanip.h> #include <string.h> ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru