![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Litkevich Yuriy |
![]()
Сообщение
#1
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Собственно вопрос: как протестировать класс на корректность работы самописаных конструктора копирования и оператора присваивания, и на предмет их существования вообще.
Положим, что в конструкторе класса создаётся динамический объект, а в деструкторе удаляется. Если свои конструктора копирования и оператора присваивания не определять, то компилятор будет использовать побитовое копирование. При этом могут возникать коварные ситуации. Как я понимаю, связанные с двойным освобождением ресурсов. Можно ли написать код, который бы осуществлял подобный тест? |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Цитата(DIMEDROLL @ 20.4.2010, 23:07) Link что такое КК и ОП? Конструктор Копирования и Оператор ПрисваиванияЦитата(Влад @ 20.4.2010, 23:12) Link поскольку abuffer - POD что означает эта абревиатура?Цитата(DIMEDROLL @ 20.4.2010, 23:07) Link Что-то это что? Что-то - некоректный КК и/или ОПчёткий эффект это какой? чёткий, например сообщение: "Конструктор копирования работает не корректно" |
|
|
DIMEDROLL |
![]()
Сообщение
#3
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 165 Регистрация: 28.9.2008 Из: Киев Пользователь №: 304 Спасибо сказали: 23 раз(а) Репутация: ![]() ![]() ![]() |
Цитата Конструктор Копирования и Оператор Присваивания Что-то - некоректный КК и/или ОП чёткий, например сообщение: "Конструктор копирования работает не корректно" В таком случае мой код(функция и оператор==) соотвествует данном описанию, если что не так - будет ассерт с сообщением. POD это int, double, short .... тоесть встроенные типы Си P.S гуглится за меньше минуту ![]() Добавлено: был неправ, POD - структура данных не имеющая никаких методов, только члены-переменные Link Сообщение отредактировал DIMEDROLL - 20.4.2010, 19:48 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 3.8.2025, 3:12 |