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

Выделение памяти... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Строки в стиле C. Прошу помочь со знаками препинания... http://www.cyberforum.ru/cpp-beginners/thread81287.html
Всем привет! Задание такое: написать программу, определяющую сколько в тексте слов, у которых первый и последний символы совпадают.При этом возможен перенос слов с одной строки на другую через дефис. Вот то, что получилось у меня. #include <iostream.h> #include <stdio.h> #include <string.h> #include <ctype.h> int main() { int i,s;
C++ Удалить из заданной строки все группы символов, расположенные между скобками, включая сами скобки ))) http://www.cyberforum.ru/cpp-beginners/thread81273.html
Работа с open GL C++
как работать с OpenGL в VS6
Найти сумму 5 элементов, которые введёт пользователь C++
как найти сумму 5 элементов который введёт пользователь?и правильно ли я создал двумерный массив? void main() { int a; int i,j; char b; int s=0; for (i=0;i<4;i++) { for (j=0;j<5;j++){ a = rand()%100;
C++ Пошаговый ввод данных и результатов http://www.cyberforum.ru/cpp-beginners/thread81257.html
Даны натуральные числа n, действительные числа a1...an. Вычислить: a1,a1+a2,...,a1+a2+...+an
C++ Побитовый сдвиг есть допустим переменная unsigned char data = 0b10111011; Как можно сделать за 4 шага по битовый сдвиг на двух половинах как видите она делится на 1011 1011 надо что бы сдвигалась левая и правая часть . 1 . 0101 0101 подробнее

Показать сообщение отдельно
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
04.01.2010, 01:08     Выделение памяти...
имея код int *a = new int ; мы выделяем память из heap'a и настраиваем указатель на переменную типа int , в таком случае записывать значения мы можем вот так *a = 100, при вызове delete в данном случае мы рушим объект и возвращаем память в heap, но сам указатель можем настроить на другой объект, то есть допустим если он глобальный то он будет жить пока живёт сама программа)
если мы имеем int * a = new int [100] ; то мы выделяем из heap'a память под сто элементов типа int, и настраиваем указатель на первый элемент массива, при delete a, мы рушим только первый элемент и вот эту память возвращаем в heap, если мы имеем не встроенный тип например GAGA * object = new GAGA ; то мы выделяем из хипа память для объекта настраиваем этот указатель на объект ну и в данном случае вызывается конструктор по умолчанию, предположим класс GAGA реализует динамический массив то есть в конструкторе выделяется память под массив ( 100 висячее значение но не в том суть ) деструктор наш рушит массив и возвращает память в хип, то есть если мы напишем delete GAGA; то будет вызван деструктор который разрушит массив и вернёт память в хип и вторым этапом мы разрушим наш дин объект и память которую он занимал вернём в хип. с массивами объектов аналогично.

вот маленький пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class GAGA
{
 int *a;
public:
 GAGA()
{
 a = new int [100];
}
~GAGA()
{
 delete [] a ;
}
};
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru