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

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

Войти
Регистрация
Восстановить пароль
 
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
#1

Возможно ли узнать, существуют ли другие указатели на данную область памяти? - C++

28.11.2013, 16:58. Просмотров 356. Ответов 11
Метки нет (Все метки)

Возможно ли узнать, существуют ли другие указатели на данную область памяти?

например:
C++
1
2
3
4
5
6
char * pChar = new char;
 
//init
//processing, computing...
 
//а здесь, перед освобождением памяти узнать, нет ли других указателей, указывающих на эти данные...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2013, 16:58     Возможно ли узнать, существуют ли другие указатели на данную область памяти?
Посмотрите здесь:

Входит ли точка в данную область - C++
Помогите, что не так в коде? Если точка лежит возле нижней части фигуры, выдает неправильный результат #include <iostream> ...

Как правильно переделать данную программу используя указатели? - C++
Как правильно переделать данную программу используя указатели? Вот у меня начальный код и переделанный. Вроде всё нормально, но мне кажется...

Ссылки и указатели, для чего нужны те и другие? - C++
Что такое ссылки? Что такое указатели? ДЛЯ чего служат те и другие?

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

Передать в функцию с переменным числом параметров УКАЗАТЕЛИ на другие функции - C++
void sum(int first, ...) { void (*l)() = (&first+1); //ведь там в стеке все аргументы l(); } вот в таком стиле..(это...

Узнать, какие согласные буквы не входят в данную строку - C++
Помготе исправить ошибку мелочная но уже голову сломал задача такая : дана строка узнать какие согласние буквы не входят в него и...

Область видимости и указатели - C++
Разбираю пример Иногда возникают ситуации, когда значение локальной переменной за пределами блока, в котором она объявлена. Как быть...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
28.11.2013, 17:01     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #2
Евгений Буланов, да, перечитать внимательно код и посмотреть нет ли разыменований)
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
28.11.2013, 17:07  [ТС]     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #3
Жаль проблему не решает...
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
28.11.2013, 17:08     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #4
Евгений Буланов, почему не решает?
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
28.11.2013, 17:09  [ТС]     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #5
потому как нужно чтоб прога сама это узнала, а не меня спрашивала
Croessmah
Модератор
Эксперт CЭксперт С++
12979 / 7291 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
28.11.2013, 17:10     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #6
Используйте умные указатели
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
28.11.2013, 17:10     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #7
Цитата Сообщение от Евгений Буланов Посмотреть сообщение
Возможно ли узнать, существуют ли другие указатели на данную область памяти?
Нельзя конечно, указатель просто хранит адрес и больше ничего. Можно ссылки считать, например shared_ptr использовать.
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
28.11.2013, 17:13  [ТС]     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #8
Просто я и пытаюсь написать подобие умного указателя... Но вот как решить проблему с освобождением памяти в деструкторе, а вдруг инной указатель указывает на эти данные...
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
28.11.2013, 17:15     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #9
Цитата Сообщение от Евгений Буланов Посмотреть сообщение
Но вот как решить проблему с освобождением памяти в деструкторе, а вдруг инной указатель указывает на эти данные...
Считай, сколько указателей ссылаются на ресурс.
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
28.11.2013, 17:19  [ТС]     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #10
статическим членом считать? просто если указателей например 20, потом 5 из них перешли на другую область памяти... Как в таком случае?
gray_fox
What a waste!
1256 / 1139 / 55
Регистрация: 21.04.2012
Сообщений: 2,361
Завершенные тесты: 3
28.11.2013, 17:34     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #11
Цитата Сообщение от Евгений Буланов Посмотреть сообщение
статическим членом считать?
Не надо. Сделай отдельную структуру, где будет сам указатель на ресурс и счётчик. Умные указатели будут ссылаться на нее.

Добавлено через 12 минут
По теме: Shared_ptr собственная реализация
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2013, 17:46     Возможно ли узнать, существуют ли другие указатели на данную область памяти?
Еще ссылки по теме:

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

Представление памяти, указатели - C++
Доброго времени суток, форумчане. Практика языка и программирования уже есть, но всё на начальном уровне. Сейчас вплотную столкнулся с...

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

Освобождение памяти и указатели - C++
int **Matrix1 = new int*; // Создаем 1-ю матрицу for (int i(0); i < N1; i++) Matrix1 = new int; Подскажите пожалуйста, как...

указатели и выделение памяти массивам - C++
дана действительная матрица размером m x n. Определить числа b1, b2, b3.... bn равные соответственно значениям средних арифметических...


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

Или воспользуйтесь поиском по форуму:
Евгений Буланов
6 / 6 / 4
Регистрация: 23.10.2013
Сообщений: 63
28.11.2013, 17:46  [ТС]     Возможно ли узнать, существуют ли другие указатели на данную область памяти? #12
Благодарю, натолкнули на мысль наконец
Yandex
Объявления
28.11.2013, 17:46     Возможно ли узнать, существуют ли другие указатели на данную область памяти?
Ответ Создать тему
Опции темы

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