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

Проверка освобождения памяти (new, delete) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Шаблоны функций. Можно ли задать шаблон мэйна http://www.cyberforum.ru/cpp-beginners/thread1526733.html
Понятно что нельзя. В этом чудном участке кода, в мэйн вводимые данные кастятся к инту. Как это можно обойти?#include<iostream> using namespace std; template<typename T> void foo(void(*foo1)(T&,T&),T&a,T&b){ foo1(a,b); cout<<a<<" "<<b<<endl; T temp=a; a=b; b=temp; cout<<a<<" "<<b<<endl;
C++ Исправить код сортировки выбором Реализуйте алгоритм на языке Си, добавив в программу подсчет количества сравнений и перестановок, проведенных алгоритмом. Выполните полученную программу на случайных массивах размерности 100, 1000, 10000. Методом выбора.Проблема с написанием самой сортировки #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv) { // файл создается в текущей директории system("chcp... http://www.cyberforum.ru/cpp-beginners/thread1526727.html
Fread неправильно считывает файл C++
У меня есть файл вот его скрин в hex редакторе я пытаюсь считать первые 8 байт, вот код: fread(&formCk.ckID,4, 1, file_in); //formCk.ckID переменная типа char считывается первые 4 байта (46 4f 52 4d) fread(&formCk.ckSize, 4, 1, file_in);//formCk.ckSize переменная типа long считывается вторые 4 байта (02 62 ee fe) formCK.ckID = "FORM" - всё верно formCk.ckSize = 4277035522 - что не верно...
C++ По заданному количеству делителей числа требуется найти само это число
По заданному количеству делителей числа требуется найти само это число. Входные данные Во входном файле INPUT.TXT записано количество делителей D некоторого натурального числа N (1 <= D <= 5000). Выходные данные В выходной файл OUTPUT.TXT запишите число N. Если решений несколько, выведите наименьшее из них. Если решения нет, или наименьшее из решений превосходит...
C++ Ошибка в __asm вставке http://www.cyberforum.ru/cpp-beginners/thread1526541.html
class Updater{ public: DWORD baseAddress; }; class System { public:
C++ Метод Гаусса-Зейделя: неверный результат Здравствуйте. Я вот написал(точнее фрагмент взял с Википедии) программу решения СЛАУ методом Гаусса-Зейделя, но результат не тот, который нужно. Как можно исправить положение? Код: #include "stdafx.h" #include "iostream" #include "math.h" #include "stdlib.h" #include "locale.h" #include "conio.h" using namespace std; подробнее

Показать сообщение отдельно
sion5
1 / 1 / 0
Регистрация: 15.10.2013
Сообщений: 42
08.09.2015, 10:13     Проверка освобождения памяти (new, delete)
Всем привет.

Программы помаленьку становятся сложнее. Появляются самодельные контейнеры внутри других самодельных контейнеров внутри каких-то child объектов... И это всё должно красиво и чисто удалиться, когда удаляется parent.
И хотя мне кажется, что я правильно прописал все деструкторы, не помешала бы возможность проверить.

Что бы такое вставить перед самым return из функции main, чтоб убедиться, что освобождена вся память?
Может, кто-то вспомнит какой-то способ получить информацию об участках памяти, которые выделялись?
Или, возможно, можно обойтись без изменения кода, а проверить в каком-то дебаггере? У меня есть OllyDbg.

Поначалу я добавлял что-то типа printf("Created %p\n", this) в конструктор и деструктор каждого класса, но это, конечно, бред новичка.
На данный момент лучшая идея - это по всей программе заменить new и delete на самодельные макросы, которые будут не толко создавать/удалять объект, а еще и сохранять информацию (адрес, размер, имя класса и строка кода, из которой объект был создан).
Но все-таки не хотелось бы так менять программу...

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