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

Оптимизация памяти - C++

Восстановить пароль Регистрация
 
 
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.11.2013, 09:40     Оптимизация памяти #1
Доброго времени суток. У меня есть класс(код показывать не буду, он не нужен), в приватном поле есть переменная типа int *, то есть класс содержит массив интов. Для класса перегружены операторы +,-,=, которые складывают, вычитают массивы по хитрому правилу, и, соответственно копируют. Все операторы возвращают объект этого же класса.
А теперь о проблеме. Дабы не было утечек памяти, в деструкторе класса, память массива освобождается, то есть, в конструкторе копирования приходится копировать весь массив ручками. Если же массив очень большой, то возникают проблемы: недостаточно памяти, большие затраты времени.
Вопрос: можно ли сделать как-то так, чтобы память освобождалась не всегда, а только в частных случаях?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.11.2013, 14:10  [ТС]     Оптимизация памяти #21
gray_fox, может у меня где-то какая-то галочка не стоит, в миллионе галочек в VS?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 14:14     Оптимизация памяти
Еще ссылки по теме:

Оптимизация функции C++
Можно ли разместить переменную в нужную ячейку памяти и реально ли хранить данные, разбросанными по памяти? C++
C++ Оптимизация программы по памяти

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
I.M.
 Аватар для I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
08.11.2013, 14:14     Оптимизация памяти #22
metaluga145, я понял.
Читаем про http://en.cppreference.com/w/cpp/language/move_operator
Yandex
Объявления
08.11.2013, 14:14     Оптимизация памяти
Ответ Создать тему
Опции темы

Текущее время: 14:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru