Описание тега dangling-pointer
Dangling pointers and wild pointers in computer programming are pointers that do not point to a valid object of the appropriate type.
2
ответа
Что такое время жизни данных параметров указателя в определяемых приложениями функциях обратного вызова Windows API? Это сохраняется после возврата обратного вызова?
В качестве примера давайте посмотрим на EnumWindowStations(), который требует, чтобы вызывающий абонент передал EnumWindowStationsProc() функция обратного вызова. Функция обратного вызова будет вызываться один раз для каждой оконной станции в текуще…
23 авг '16 в 21:06
2
ответа
Свисающий указатель - пожалуйста, проверьте
Может ли кто-нибудь проверить и сказать, действителен ли следующий код? Я чувствую, что строки 160-162 могут быть неправильными. У меня есть комментарии, чтобы указать номер строки. полный код взят отсюда C++ Binary Search tree class BinarySearchTre…
03 янв '14 в 15:11
3
ответа
c: стратегии отладки неясных утечек памяти?
Я работаю над проектом в c, и я пытаюсь понять, как отладить неясную ошибку, которая приводит к сбою моей программы. Это довольно большое, попытки изолировать проблему, делая меньшие версии кода, не работают. Поэтому я пытаюсь найти способ отладки и…
13 апр '14 в 20:00
3
ответа
Обнаружить висячие ссылки на временные
Clang 3.9 чрезвычайно многократно использует память, используемую временными. Этот код UB (упрощенный код): template <class T> class my_optional { public: bool has{ false }; T value; const T& get_or_default(const T& def) { return has ?…
20 фев '17 в 08:54
2
ответа
Почему висячий указатель не может хранить какое-либо значение и почему он выбрасывает 0?
Почему висячий указатель не может хранить никаких значений и почему он выбрасывает 0? Как это указывает на ту же память, которая освобождается. почему 0, если мы пытаемся сохранить какое-то значение? #include<stdio.h> #include<stdlib.h> …
20 авг '14 в 04:25
1
ответ
flatbuffers: возможно ли удалить буфер через root-указатель
Я начинаю использовать библиотеку flatbuffer. Но есть вещь, которая мне неудобна, когда дело доходит до удаления буфера. Я не знаю, как удалить буфер через элемент root-pointer-element. Если бы это было возможно, корневой указатель мог бы взять на с…
24 ноя '15 в 09:08
7
ответов
Обязательно ли инициализировать указатели в C++?
Обязательно ли инициализировать t в следующем коде, прежде чем присваивать значение t? Код правильный? void swap(int *x, int *y) { int *t; *t = *x; *x = *y; *y = *t; }
23 мар '11 в 10:33
8
ответов
Почему присвоение 0 указателю является решением для висящего указателя?
Что делает OS/Debugger, когда указателю назначается 0?
06 июн '12 в 01:48
6
ответов
Безопасный способ выставить C-выделенный буфер памяти, используя numpy/ctypes?
Я пишу привязки Python для библиотеки C, которая использует буферы разделяемой памяти для хранения своего внутреннего состояния. Выделение и освобождение этих буферов выполняется за пределами Python самой библиотекой, но я могу косвенно контролирова…
23 июн '16 в 10:20
1
ответ
Как я могу напечатать висячий указатель, в демонстрационных целях?
Я пытаюсь объяснить кому-то, почему у него есть висячий указатель и как на самом деле работает free (и что указатели являются значениями и, следовательно, передаются по значению), но для этого мне кажется, что мне нужен способ печати указателей, кот…
14 июл '18 в 23:20
2
ответа
Обнаруживать или избегать мертвых ссылок на временные во время компиляции
Следующие ошибки в программе минимальной длины при компиляции с -O3 и, возможно, с -O2, но хорошо работает с -O0 (с лязгом 4.0): #include <iostream> class A { public: virtual void me() const { std::cerr << "hi!\n"; } }; class B { public:…
15 сен '17 в 07:16
2
ответа
Простой, эффективный слабый указатель, который устанавливается в NULL, когда целевая память освобождается
Есть ли простой, эффективный слабый / защищенный указатель? Мне нужно несколько указателей на один и тот же объект, которые все автоматически устанавливаются в NULL при удалении объекта. Существует один "главный" указатель, который всегда использует…
09 дек '09 в 19:15
2
ответа
Опасен ли висячий указатель, если его никогда не использовать?
Мы уже знали, что уязвимости использования после освобождения могут вызвать проблемы с безопасностью. Поскольку ошибка использования после освобождения возникает из-за висящего указателя, мой вопрос заключается в том, что, если в программе не исполь…
09 янв '18 в 04:56
4
ответа
Уточните висячий указатель в C/C++
Меня немного смущает висячий указатель в C/C++ void remove(){ Node* curr = new Node(10); Node* pt = curr; delete curr; // do something here // do other thing here } Я предполагаю Node* pt все еще висит указатель перед функцией remove() прекращается?…
29 май '16 в 20:53
2
ответа
Понимание поведения висячего указателя в этом случае
У меня есть указатель, и по умолчанию он несет NULL, затем он ожидает какого-то события и получает значение, если событие произойдет, позже я освобождаю указатель где-то еще, но даже после освобождения указателя я не делаю его NULL, поэтому он все е…
11 сен '18 в 04:52
3
ответа
Безопасно ли преобразовывать IDispatch* в IUnknown* без использования QueryInterface для межпроцессных COM-объектов?
При работе с межпроцессным COM объекты, безопасно ли бросить IDispatch* в IUnknown*, без использования QueryInterface? Здесь наш IDispatch объект происходит из другого процесса OtherProcess.exe, И мой коллега говорит, что я должен позвонить QueryInt…
10 июн '15 в 13:46
2
ответа
C освобождение проверки не работает
Я написал метод для освобождения моей структуры. Теперь у меня проблема. Когда я вызываю этот метод дважды, он выдает ошибку. Но я проверяю, есть ли что-то в моей структуре, поэтому я не знаю, как это возможно, что это дает мне ошибку. Моя структура…
20 окт '14 в 13:33
1
ответ
Поймать висячий указатель
Я написал следующий код, который выводит 45: #include <iostream> int main() { int *p; { int n = 45; p = &n; } std::cout << *p; } Потому что жизнь n заканчивается в области, я ожидал, что этот код выдаст ошибку или предупреждение. Исп…
23 май '16 в 01:52
3
ответа
Объект все еще доступен после выхода из std::unique_ptr. Различное поведение во время выполнения
Следующий код переходит к функции modify_entry указатель на объект типа Entry и внутри тела функции а unique_ptr принимает необработанный указатель. Однако объект, на который указывают указатели, кажется, продолжает жить после возврата из функции. К…
15 апр '14 в 14:16
5
ответов
Вызывается ли деструктор при удалении элемента из контейнера STL?
Скажем, у меня есть два контейнера, в которых хранятся указатели на одни и те же объекты: std::list<Foo*> fooList; std::vector<Foo*> fooVec; Допустим, я удаляю объект из одного из этих контейнеров через один, если его методы: std::vector…
24 июл '10 в 18:06