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

Статический и динамический экземпляры класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Лафоре,задача про денежный тип http://www.cyberforum.ru/cpp-beginners/thread794437.html
Вот задачка: Одним из недостатков C++ является отсутствие для бизнес-программ встроенного типа для денежных значений, такого, как $173 698 001,32. Такой денежный тип должен иметь возможность для...
C++ Односвязные списки (найти литературу) нужно найти литературу по этому вопросу. есть ли у кого "очень понятная" литература по этому вопросу? http://www.cyberforum.ru/cpp-beginners/thread794427.html
C++ Определить все слова, оканчивающиеся на "ая" (visual С++)
Добрый день) Помогите пожалуйста с решением 2 задач на visual С++. 1. Дан текст. Определить все слова оканчивающиеся на "ая". 2. Дано число n. Выбросить из него все единицы и пятёрки, оставив...
Исправить ошибки ( распределение памяти ) C++
Написать программу, в которой матрица размерности n x m размещается в свободной памяти. Элементы целочисленной матрицы заполняются с помощью ГСЧ в интервале от -10 до 10. Вывести строки с...
C++ Шахматный номер, рекурсия http://www.cyberforum.ru/cpp-beginners/thread794377.html
Вот есть задачка, нужно решить ее с применением рекурсивной функций, никак не могу додуматься как это сделать. Телефонный номер называется "шахматным", если его цифры набираются на телефонном...
C++ задача с кусками. реализация в массиве Всем доброго времени суток. Вопрос в следующем. Пускай у нас есть двумерный динамический массив, заполненный рандомно 0 и 9. а конкретней, 0 "разбивают" этот массив на некоторые куски. Первый кусок... подробнее

Показать сообщение отдельно
Frakir
0 / 0 / 0
Регистрация: 25.02.2013
Сообщений: 8

Статический и динамический экземпляры класса - C++

25.02.2013, 14:25. Просмотров 4266. Ответов 26
Метки (Все метки)

В чем разница между статическим и динамическим экземплярами класса?
Мои познания здесь скромны:
1) Разная инициализация.
У меня есть класс Test.
Статический экземпляр создается так:
C++
1
Test stat;
При этом получаем экземпляр класса, который будет находиться в стеке, и для которого, по достижению конца блока кода, будет автоматически вызван деструктор.
Динамический класс создается так:
C++
1
Test dynam = new Test;
Экземпляр помещается в кучу, а мы далее работаем с указателем на экземпляр. Кроме того, требуется ручное удаление экземпляра.
2) Разный синтаксис для вызова методов и членов класса.
Статический экземпляр:
C++
1
stat.MyMethod();
Динамический экземпляр:
C++
1
dynam->MyMethod();
Из текущей картины складывается ощущение, что с динамическими экземплярами одни проблемы: работа через указатели, высокий риск утечки памяти и, возможно, потеря в скорости из-за размещения в куче.
Так зачем же было придумано 2 способа создания экземпляров класса? Что я упускаю из виду?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru