![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
САБЖ.
Для чего это надо (код подсмотрена в gdi+) private: Bitmap(const Bitmap &); Bitmap& operator=(const Bitmap &); почему приватный и зачем ???? -------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Кратко: Чтобы нельзя было скопировать объект
Также при некоторых обстоятельствах может потребоваться, чтобы дублировать объекты могли только друзья или потомки. Это достигается объявлением функций в защищённой (protected) или закрытой (private) частях Чтобы запретить компилятору автоматически создавать конструктор копий и операцию присваивания, надо объявить их в классе, но не писать определение. При этом объявление должно располагаться в закрытой (private) части Это сообщение отредактировал(а) SergeCpp - 20.9.2006, 14:08 |
|||
|
||||
| Nastya |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 27.3.2002 Где: Мариуполь Репутация: 5 Всего: 44 |
вот в том то и вопрос почему нельзя скопировать объект? для чего. Что бы увеличить сложность разработки? Или проблему разработчиков библиотеки возложить на ее пользователей
-------------------- Что бы понять рекурсию, надо понять рекурсию "Профессионал - это человек сделавший все возможные ошибки в очень узкой области". Н.Бор |
|||
|
||||
| SergeCpp |
|
|||
![]() ![]() ![]() Профиль Группа: Участник Сообщений: 955 Регистрация: 8.8.2005 Где: At Home Репутация: 15 Всего: 124 |
Издержки на размещение в памяти при копировании и воспроизведении простых типов данных в принципе невелики. Чем сложнее тип данных, тем больше будут "расходы" на копирование объектов этого типа. Сложные типы могут требовать нетривиального управления памятью, они могут выполнять сложные графические преобразования, могут состоять из сложных структур данных, например, связанных списков, бинарных деревьев и мультимножеств; могут отвечать за инициализацию внешних устройств или быть элементами разветвленной иерархии. Как и в большинстве вопросов конкретной реализации, именно вам придется решать, в каких обстоятельствах целесообразно заблокировать копирование.
Вот неплохие статьи...
Это сообщение отредактировал(а) SergeCpp - 20.9.2006, 14:15 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Nastya, я думаю копирование битмапов запрещено, т.к. вин-апишные хандлы не имеют счетсчика ссылок, а дублировать их по любому поводу (т.е. соответствующий ресурс) слишком накладно. А если просто скопировать побитово, то возникнет неоднозначность с владением: кто должен освобождать ресурс?
-------------------- ... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |