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

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

Войти
Регистрация
Восстановить пароль
 
Igor Fender
1 / 1 / 0
Регистрация: 09.07.2014
Сообщений: 167
#1

Ссылки и очистка памяти - C++

08.07.2015, 22:18. Просмотров 313. Ответов 2
Метки нет (Все метки)

Здравствуйте!

Если я создаю ссылку и присваиваю ей значение (константу или нет) должен я как и с указателями заботится об памяти?

К Примеру:

C++
1
int &a = *(new int(5));
C++
1
const int &a = 5;
Где нужно очищать память, а где нет?
C++
1
delete &a; // Правильно?

И вот такой вопрос:
C++
1
2
3
    int *p = new int(7);
    int &a = *p;
    delete &a; //Допустимо?? или только delete p;  ?
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2015, 22:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ссылки и очистка памяти (C++):

Очистка памяти - C++
Как правильно очистить память в массиве классов Вот код конструктора, выделяющего память, и деструктора. Выдает ошибку в самом конце...

Очистка памяти - C++
Вот сделал лабу и все работает отлично, но осталось последнее new выделяет память мне нужно добавить функцию которая будет вызыватся в...

Очистка памяти - C++
Подскажите пожалуйста что не так делаю, создаю массив лейблов: TLabel **Labels; Labels = new TLabel*; for(int i = 0; i < rabot +...

Очистка памяти - C++
При выполнении программы, память приложения растёт, а она должна быть неизменной. int main() { setlocale(LC_ALL, "Russian"); ...

очистка памяти - C++
в данном случае деструктор очистит всё, или нет? #include "base.h" #include <cstdlib> #include <ctime> base::base(int x,int y) { ...

Очистка памяти - C++
Цель: Написать программу, которая читает текст из файла и записывает в новый файл те слова, которые содержат буквы, введенные с...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Croessmah
Эксперт CЭксперт С++
13237 / 7509 / 847
Регистрация: 27.09.2012
Сообщений: 18,447
Записей в блоге: 3
Завершенные тесты: 1
08.07.2015, 22:27 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Igor Fender Посмотреть сообщение
Если я создаю ссылку и присваиваю ей значение (константу или нет) должен я как и с указателями заботится об памяти?
Цитата Сообщение от Igor Fender Посмотреть сообщение
Где нужно очищать память, а где нет?
Если выделяли в динамической памяти, то всё под Вашим контролем и не будет автоматически освобождаться.

Цитата Сообщение от Igor Fender Посмотреть сообщение
delete &a; // Правильно?
угу.

delete &a; //Допустимо?? или только delete p; ?
Без разницы, главное, чтобы адрес был тот, который вернул new до этого.
1
DrOffset
7155 / 4296 / 972
Регистрация: 30.01.2014
Сообщений: 7,101
08.07.2015, 23:46 #3
Если код такой:
Цитата Сообщение от Igor Fender Посмотреть сообщение
const int &a = 5;
то delete, разумеется, не нужен.
delete нужен там, где был new.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2015, 23:46
Привет! Вот еще темы с ответами:

указатели и очистка памяти - C++
В отличии от java в с++ память по умолчанию нужно очищать самостоятельно. Понятно, что если память зарезервированная неким указателем...

Правильная очистка памяти - C++
Пытаюсь разобратся с работой с памятью в с++. Есть класс BigInteger содержащий в себе массив чисел int *arr. В конструкторе этот массив...

Очистка памяти - ошибка - C++
Здравствуйте, друзья. Подскажите, пожалуйста, где ошибка: #include <stdio.h> int main() { int size = 5; int **array = new...

Указатели и очистка памяти - C++
Возник интересный вопрос... class Test { int a; }; class Test1 : public Test { int b, c; }; int main() { Test1 *t = new Test1; ...


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

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

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