Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
SwanSONG
2 / 2 / 0
Регистрация: 30.01.2013
Сообщений: 36
1

Экономия ресурсов при использовании CPen и CBrush

11.11.2013, 19:38. Просмотров 263. Ответов 0
Метки нет (Все метки)

Здравствуйте, коллеги!
В моем проекте по циклу крутится вывод некоторых геометрических фигур. Их много (больше 3000 экземпляров нескольких классов). Их надо выводить разными цветами с разной же заливкой.
Как идеологически правильно сделать:
1.
C++
1
2
CPen xPen,*pOldPen=xdc->SelectObject(&xPen);
CBrush xBrush, *pOldBrush=xdc->SelectObject(&xBrush);
....
C++
1
2
CBrush bPlanet(RGB(vR,vG,vB));
CPen pOrbit(PS_DASH,1,cPlanetOrbit);
...
C++
1
2
3
xdc->SelectObject(pPlanet);
xdc->SelectObject(bPlanet);
xdc->Ellipse(PosPlanetX-vRadius2,PosPlanetY-vRadius2,PosPlanetX+vRadius2,PosPlanetY+vRadius2);
...
C++
1
2
xdc->SelectObject(pOldPen);
xdc->SelectObject(pOldBrush);
2. или через new\delete:
C++
1
2
CPen xPen,*pOldPen=xdc->SelectObject(&xPen);
CBrush xBrush, *pOldBrush=xdc->SelectObject(&xBrush);
...
C++
1
2
CPen *CP=new CPen(PS_DASH,1,cPlanetOrbit);
CBrush *CB=new CBrush(cPlanetOrbit);
...
C++
1
2
3
xdc->SelectObject(CP);
xdc->SelectObject(CB);
xdc->Ellipse(PosPlanetX-vRadius2,PosPlanetY-vRadius2,PosPlanetX+vRadius2,PosPlanetY+vRadius2);
...
C++
1
2
xdc->SelectObject(pOldPen);
xdc->SelectObject(pOldBrush);
...
C++
1
delete CP,CB;
Т.е. как избежать в такой ситуации утечки ресурсов?
Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.11.2013, 19:38
Ответы с готовыми решениями:

Экономия памяти при упаковке данных
Здравствуйте, уважаемые программисты! Есть такая задача: Задан упорядоченный...

Экономия трафика при передачи последовательности изображений в сети за счет эффективного кодирования
Всем добрый день! Есть такая задачка: мы берем последовательность изображений и...

При использовании оператора GOTO зацикливается программа при введении букв.
Приветствую всех новых знакомых в этом храме программирования. Я новичек,...

Баг при использовании класса string при записи в бинарный файл
При записи в бинарный файл пользовательского класса, всё отлично отрабатывает,...

При использовании getline ввод при Enter заканчивается только после пробела
int main() { string slovo; double n; while(slovo != "пока" ) ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2013, 19:38

Экономия по времени
Приветствую всех! Как сделать данную программу максимально быстрой, для...

Экономия памяти
Скажите, будет ли второй вариант кода занимать меньше памяти? 1ый вариант: ...

Экономия памяти
Здравствуйте, уважаемые программисты! Как разместить информацию о числах из...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru