Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Yello
Зарегистрирован: 09.03.2006 Сообщения: 107
|
Добавлено: Сб Авг 12 2006 12:23 Заголовок сообщения: И присваивание может вызываться НЕЯВНО (С++)? |
|
|
В некотором классе есть присваивание, НО ни в одной его (и других) ф-ях оно не вызывается явно. Я закомментировал присваивание и его реализацию, на стадии компиляции ошибок не выявлено (что ещё раз подтверждает отсутствие явных присваиваний).
Однако без него программа не работает (вылетает в ХР с ошибкой, а Debug error 47), а с ним - все нормально.
Может, С++ кое-где вызывает присваивание, как и к-р копий, НЕЯВНО? |
|
Вернуться к началу |
|
|
sniper::p
Зарегистрирован: 04.10.2005 Сообщения: 237 Откуда: rus/73
|
Добавлено: Сб Авг 12 2006 23:04 Заголовок сообщения: |
|
|
Вполне вероятно, что присваивание вызывается в рантайме побайтово (т.е. содержимое одного объекта ЦЕЛИКОМ копируется в другой), если в классе есть какие-либо указатели (в полях), они портятся, и все такое _________________ Нет предела совершенствованию |
|
Вернуться к началу |
|
|
sniper::p
Зарегистрирован: 04.10.2005 Сообщения: 237 Откуда: rus/73
|
Добавлено: Сб Авг 12 2006 23:05 Заголовок сообщения: |
|
|
Вполне вероятно, что присваивание вызывается в рантайме побайтово (т.е. содержимое одного объекта ЦЕЛИКОМ копируется в другой), если в классе есть какие-либо указатели (в полях), они портятся, и все такое _________________ Нет предела совершенствованию |
|
Вернуться к началу |
|
|
sniper::p
Зарегистрирован: 04.10.2005 Сообщения: 237 Откуда: rus/73
|
Добавлено: Сб Авг 12 2006 23:05 Заголовок сообщения: |
|
|
Вполне вероятно, что присваивание вызывается в рантайме побайтово (т.е. содержимое одного объекта ЦЕЛИКОМ копируется в другой), если в классе есть какие-либо указатели (в полях), они портятся, и все такое _________________ Нет предела совершенствованию |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Авг 14 2006 07:41 Заголовок сообщения: |
|
|
Программа вполне могла быть откомпилирована с присваиванием, но вместо нужной реализации использовалась стандартная. Надо попробовать продебагить прогу, найдешь место где вылетает, все поймешь.
Вот он Си++ со своей запутанной спецификацией, Java куда как проще... _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
|
kolobok0
Зарегистрирован: 22.04.2005 Сообщения: 253 Откуда: Мсква
|
Добавлено: Пн Авг 14 2006 13:40 Заголовок сообщения: Re: И присваивание может вызываться НЕЯВНО (С++)? |
|
|
Yello писал(а): | В некотором классе есть присваивание, НО ни в одной его (и других) ф-ях оно не вызывается явно. Я закомментировал присваивание и его реализацию, на стадии компиляции ошибок не выявлено (что ещё раз подтверждает отсутствие явных присваиваний).
Однако без него программа не работает (вылетает в ХР с ошибкой, а Debug error 47), а с ним - все нормально.
Может, С++ кое-где вызывает присваивание, как и к-р копий, НЕЯВНО? |
лучше приведите Ваш пример...
(круглый) _________________ (круглый) |
|
Вернуться к началу |
|
|
Kefir
Зарегистрирован: 16.04.2005 Сообщения: 443 Откуда: Пермь
|
Добавлено: Пн Авг 14 2006 13:58 Заголовок сообщения: Re: И присваивание может вызываться НЕЯВНО (С++)? |
|
|
kolobok0 писал(а): |
лучше приведите Ваш пример...
|
Эт точно... _________________ Самоловских Виталий aka Kefir |
|
Вернуться к началу |
|
|
|