Форум программистов, компьютерный форум 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
1478 / 1054 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
19.01.2013, 17:42     Как создать объект в новой куче?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class SimpleClass
{
   int x;
   int y;
};
 
 
{
   char buffer[sizeof(SimpleClass)];
   SimpleClass* ptr = new (buffer) SimpleClass();
   // тут что-то делаем.
   // тут не позвали деструктор. но память не утекла. дектруктор SimpleClass ничего интересного
   // не делает, а сам он размещен в буффере, который на стеке, который корректно уничножится.
   // вроде ничего не утекло.
}
 
{
   char buffer[sizeof(std::string)];
   std::string* ptr = new (buffer) std::string();
   ptr->resise(1000); // вот тут внутри строки выделяется буфер для хранения 1000 символов. и выделяется
                            // он не в буфере на стеке. его надо будет удалить. а делается это в деструкторе строки.
   // тут не позвали деструктор. и вот тут утекла та память, которую строка выделела для хранения 1000 символов
}
это я к тому, что выделять заранее кучу памяти и создавать там объекты и не звать для них деструкторы,
- это может быть чревато. если это делать осознанно - то ок.
 
Текущее время: 21:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru