![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Собственно вопрос: как протестировать класс на корректность работы самописаных конструктора копирования и оператора присваивания, и на предмет их существования вообще.
Положим, что в конструкторе класса создаётся динамический объект, а в деструкторе удаляется. Если свои конструктора копирования и оператора присваивания не определять, то компилятор будет использовать побитовое копирование. При этом могут возникать коварные ситуации. Как я понимаю, связанные с двойным освобождением ресурсов. Можно ли написать код, который бы осуществлял подобный тест? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(Влад @ 20.4.2010, 22:06) Link Гмм.... А можно взглянуть на код этого YBuffer1? можно, заодно может на косяки укажите:ybuffer1.h
ybuffer1.cpp
Цитата(DIMEDROLL @ 20.4.2010, 22:30) Link Для копируемых темплейтная фукция: эта шаблонная функция ничего не даст, в отсутствии самописанных конструктора копирования и оператора присваиванияЦитата(DIMEDROLL @ 20.4.2010, 22:30) Link Весь код проверки находится в операторе сравнения(==). про это не понял, где и как применяется
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 19.8.2025, 14:52 |