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

Стек и динамическая память - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Последовательность чисел http://www.cyberforum.ru/cpp-beginners/thread203227.html
Рассмотрим последовательность чисел ai, i = 0, 1, 2, …, удовлетворяющих следующим условиям: a0 = 0 a1 = 1 a2i = ai a2i + 1 = ai + ai + 1 для каждого i = 1, 2, 3, … . Напишите программу, которая...
C++ Как узнать время выполнения алгоритма Мне нужно сравнить несколько алгоритмов сортировки. Но таким способом как у меня, дает очень маленькие значения .... дл массива int - ов, размером в было 0,016 для массива что то около 0,745... http://www.cyberforum.ru/cpp-beginners/thread203204.html
C++ Проверьте прогу
Нужно проверить рабочая ли прога , а то нет возможности #include <iostream.h> #include <math.h> int main() { int n = 0; double e = 0.001; double sum = 0.0, current = 0.0;
Где найти файл помогания MVS C++ 2008 e-edition? C++
Подскажите, пожалуйста, где можно скачать файл помощи MVS C++ 2008 Express edition? А то у меня помощь что-то не работает, выделяю функцию, например, getch, и нажимаю на F1, а показывает какие-то...
C++ Как введёному числу выделить отдельный регион памяти через функцию virtualAlloc? http://www.cyberforum.ru/cpp-beginners/thread203170.html
Как введёному числу выделить отдельный регион памяти через функцию virtualAlloc?
C++ Дан текст, вывести на экран слова в порядке уменьшения их длины! Дан одномерный Массив написать программу преобразования массива путём сдвига их значений! Добавлено через 1 минуту С++ Робота со строковыми данными! Дан текст вывести на экран слова в порядке... подробнее

Показать сообщение отдельно
SergBokh
82 / 74 / 3
Регистрация: 03.09.2009
Сообщений: 346

Стек и динамическая память - C++

04.12.2010, 15:40. Просмотров 5374. Ответов 17
Метки (Все метки)

Читаю книжку по с++. Для хранения переменных может использоваться стек или динамическая память.

чтоб поместить в стек нужно объявить так:
C++
1
2
int i; // переменная int
Cat cat; // объект класса Cat
Чтоб поместить в дин. память:
C++
1
2
int * p_i = new int;
Cat * pCat = new Cat;
Вроде понятно, но после C# возникает несколько вопросов:

1. Как уничтожать объекты, помещенные в стек? Насколько я понял деструктор вызывается автоматически при выходе за пределы видимости, и память освобождается.

2. если класс Cat имеет такой вид:
C++
1
2
3
4
5
class Cat
{
    CatHead catHead; // класс, объявленный "методом стека"
    ...
};
и мы размещаем объект Cat в дин.памяти. Выходит тело объекта Cat будет размещено в динамической памяти, а часть объекта Cat (catHead) - в стековой памяти?

3. Почему нужно размещать объекты в динамической памяти, а не в стек? Ограниченность стека?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru