Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Название типа объекта typeid Когда вывожу название типа объекта, то перед ним появляются цифры 4 и 8. что они означают? В низу показал что выводит программа #include <iostream> #include <typeinfo> using namespace std; class Base { https://www.cyberforum.ru/ cpp-beginners/ thread950796.html Тема: Структуры. Условие: сделать массив структур, который содержит следующею информацию C++
В радиоателье сохраняются квитанции о заданной в ремонт аппаратуре. Каждая квитанция содержит такую информацию: название группы товаров(телевизоры, радиоприемники и т.д), марка товара, дата приема в ремонт, состояние готовности заказа(сделано, не сделано). Вывести информацию о состояние заказа на поточные сутки для заданной группы товаров. Наименование группы товаров ввести с клавиатуры.
C++ Проверка на расстановку скобок https://www.cyberforum.ru/ cpp-beginners/ thread950777.html
В общем задание такое. Программа (консольная) проверяет каждую строку файла для проверки на расстановку скобок 4 типов ("(" и ")", "", "{" и "}", "<" и ">"), проверка должна учесть парность и вложенность расстановки скобок (как в математических выражениях), другие символы - пропускать без обработки. По результатам проверки формируется файл результатов, каждая строка которого соответствует...
C++ Непонятен текст задания https://www.cyberforum.ru/ cpp-beginners/ thread950775.html
Вот задание: b) Создать абстрактный тип данных (структура) - вектор, который имеет указатель на float и число элементов. Определить функции: инициализации, удаления вектора, установки/ изменения размера, доступа к элементам вектора, вычисления суммы элементов вектора. Для примера, в функции main, организовать поэлементное умножение двух векторов. Не понимаю на счет числа элементов Так как...
Указатели (нужно передать массив в качестве параметра в функцию) C++
Добрый день! имеется массив array его нужно передать в качестве параметра в функцию, принимающую в качестве аргумента LPVOID: function(LPVOID arr), я делаю так: function(&array), в большинстве случаев все работает, но иногда вылетает - пытаюсь понять, связано ли это с неправильной передачей аргумента, ?или все-таки нужно передавать function(array) без &, массив сам по себе это указатель на...
C++ В чем разница? Скажите в чем разница между двумя кусками кода: std::string a; while ((std::cin>>a)!="Quit") { std::cout<<a; } https://www.cyberforum.ru/ cpp-beginners/ thread950770.html
C++ Работа с классами https://www.cyberforum.ru/ cpp-beginners/ thread950751.html
Привет!!! Есть задачка: "Определите класс Oper, содержащий идентификатор типа ld (string или C-строка) и операцию (указатель на функцию или функциональный объект). Определите класс Cat_object, который содержит список элементов типа Oper и void*. Снабдите Cat_object операциями add_oper(Oper), которая добавляет Oper к списку; remove_oper(id), которая удаляет Oper, идентифицируемую с помощью Id...
C++ Stack со сменой представления
Здорова господа!!! Есть задачка: "Напишите класс Stack, для которого можно сменить представление на стадии выполнения программы. Подсказка: "Любую проблему можно решить введя еще один уровень косвенности" " Тут не понятно что нам нужно сделать. Рассмотрим просто теоретически, допустим есть у нас класс Stack и нам что нужно от него по создавать производные классы допустим А и допустим B....
C++ Нужен кусок кода Привет всем, даже не знаю сюда ли обратился.....В общем нужен код который выполняется с момента нажатия в браузере например мозиллы CTRL+U. Где мне его взять? Если у кого есть напишите пожалуйста! Думаю я что там не так уж и много написано ). Ну или просто подскажите как выудить исходный код страницы, как это делается? https://www.cyberforum.ru/ cpp-beginners/ thread950736.html C++ Работа с com port подскажите пожалуйста!! написал программку, отправляет запрос на устройство пакет данных (без контрольной суммы), должен придти ответ и записаться в массив!порт открывается, отправляю данные, НЕ КОРРЕКТНО работает readfile() Не пойму в чем ошибка () #include <windows.h> #include <iostream> using namespace std; HANDLE hCom; https://www.cyberforum.ru/ cpp-beginners/ thread950730.html
В строку вставить заданное число перед каждым восклицательным знаком C++
Дано некоторое число. Вставить его перед каждым восклицательным знаком. все числовые данные вводятся с клавиатуры,и если можно с пояснениями как работает программа и что какой цикл в ней выполняет,заранее спасибо)
C++ Необходимо написать и отладить две программы в среде Borland C++ 3.1. Первая программа должна сформировать двоичный файл. Вторая – считать данные из э Создать двоичный файл и записать в него n целых чисел. Из файла сформировать массив, записав в него только ненулевые компоненты, находящиеся после максимального элемента. все числовые данные вводятся с клавиатуры,и если можно с пояснениями как работает программа и что какой цикл в ней выполняет,заранее спасибо)
В астрале
Эксперт С++
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
09.09.2013, 17:08 0

delete[] *pointer vs. delete pointer и утечка памяти - C++ - Ответ 5034767

09.09.2013, 17:08. Показов 1898. Ответов 3
Метки (Все метки)

Ответ

Cynacyn, Стоит делать как в бусте/STL.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
template<typename T>
class counted_ptr
{
  /// implementation
public:
    ~counted_ptr() { delete owned; }
};
 
template<typename T>
class counted_ptr<T[]>
{
    // implementation
public:
   ~counter_ptr() { delete[] owned; }
};
Можно конечно вместо специализации мутить всякие флажки и т.д., но это имхо несколько грустнее. Но этот вариант подойдет очевидно только для варианта, если будет вызвано нечто вроде

C++
1
counted_ptr<int[10]> p(array);
Если инициализировать именно указателем на массив элементов - определить что передали именно указатель на первый элемент массива невозможно. И тут спасет только то, что пользователь должен будет либо сам подавать флажок, либо передавать указатель на функцию (ну или объект), который нужно будет вызвать при удалении (как сделано в boost::shared_ptr к примеру).

Вернуться к обсуждению:
delete[] *pointer vs. delete pointer и утечка памяти C++
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
09.09.2013, 17:08
Готовые ответы и решения:

Утечка памяти и delete
Вот накопились вопросы про утечки памяти. 1) Как проявляется утечка памяти? На многих сайтах...

Delete[] и утечка памяти
Как можно избежать вытока памяти? И вообще почкму криво работает? #include&lt;iostream&gt;...

Утечка памяти. new/delete. Всё как доктор прописал, но не работает
Всем привет! Начну сразу с кода: #include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; ...

Shared_ptr - stored pointer, owned pointer
Зачем в shared_ptr нужен хранимый указатель, отличный от владеемого? И так в этом средстве,...

3
09.09.2013, 17:08
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.09.2013, 17:08
Помогаю со студенческими работами здесь

Используя delete по указателю, возвращенному new [] или delete [] указателем, возвращаемым new
Помогите ответить на вопрос, не могу понять суть вопроса (правильно ли понимаю, что будет если...

В чем разница между delete и delete[]?
а можете еще по подробней рассказать про delete, точнее даже delete, чем именно отличается delete...

Чем отличается delete[] от delete?
чем отличается? delete mas от delete mas

Очистка памяти delete[];
Есть функция ввида: void loltest(int md3) { char* randChars; int cCount; ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru