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

Как создать объект в новой куче? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано целое число и найти его сумму http://www.cyberforum.ru/cpp-beginners/thread766153.html
Дано целое число N(>0).Hайти сумму N*2+(N+1)*2+(N+2)*2+...+(N*2)*2 Небольшая заготовка #include <vcl.h> #include <conio.h> #include <iostream.h> int main() { int N;
C++ вывести на печать случайный массив или матрицу как вывести на печать случайный массив или матрицу на Visual Studio? тоесть как сгенерировать массив/матрицу? http://www.cyberforum.ru/cpp-beginners/thread766148.html
Массив символов char и указатели C++
В общем нужно сохранить путь к диску в переменную, что бы потом использовать в _findfirst Но сколько бы я не бился над этим, ничего не выходит... Это криво код, не работает... #include <io.h> #include <iostream> using namespace std; void main (void) {
Определить инвариант в цикле C++
Программа проверяет является ли число простым. Подскажите как составить инвариант для этой программы. Не понимаю как это делается вообще. #include <stdio.h> #include <math.h> int main( ) { int i,k; int a; scanf("%d", &k);
C++ error C2912: явная специализация; не является специализацией функции-шаблона http://www.cyberforum.ru/cpp-beginners/thread766131.html
Как исправить ошибку? #include <iostream> using namespace std; template <typename t> void PrintArray(t *arr, const int size) { for (int i=0; i<=size-1; i++) cout << arr << " ";
C++ Подсчет гласных букв Написать програму которая считает сколько в веденой пользователем строке гласнихбукв и четных цыфр! С++ подробнее

Показать сообщение отдельно
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
19.01.2013, 15:56     Как создать объект в новой куче?
в том смысле, если объекты создавать в заранее подготовленном пуле и потом его убивать - то это как бы нет утечки памяти. да, это так. но в этой памяти создавались объекты и важно, чтобы их деструкторы вызывались.
так вот, просто возвращение памяти системе не вызовет эти деструкторы. а значит что-то может утечь, попимо памяти. например синзронизирующие объекты остались в занятом состоянии (освобождаются в теле деструтора), дескрипторы файлов или еще чего-то тоже не освобождены (освобождаются в теле деструктора) и т.д.
Ну и я не понял, как на это повлияет этот макрос. Автор ведь его закомментировал и создает объекты в заранее выделенном буфере памяти.
вот такой классик тоже приведет к утечке, если деструктор не позовется:
C++
1
2
3
4
class Class
{
  std::string str;
}
ведь буффер, выделяемый внутри std::string создается не в пуле, а в общем месте до тех пор, пока там аллокатор нужный не подсунут или оператор new не перепишут или хз что еще не сделают.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru