![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
azesmcar, mes, господа, не ругайтесь. вы ведь почти интеллигенты
|
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| Abyx |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
компилим в MSVC, запускаем, ассёрт не срабатывает. Добавлено через 2 минуты и 25 секунд пишем
ассерт возможно срабатывает, зависит от конкретной версии msvc пишем
ассёрт гарантированно не срабатывает Добавлено через 3 минуты и 41 секунду подсказка: в MSVC указатель на функцию член не является обычным указателем тогда и только тогда, когда функция виртуальная и возможно множественное наследование. Это сообщение отредактировал(а) Abyx - 16.9.2010, 13:55 |
||||||
|
|||||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
что-то у меня иной результат. и полагаю - правильный. http://liveworkspace.org/code/24c04c97f407...33bbad04cc30050 Добавлено через 1 минуту и 56 секунд как дополнение: http://liveworkspace.org/code/4dd7dd41b34b...91ed7d46d397852 |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
boostcoder, на liveworkspace.org MSVC ?
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
в данном случае о преобразованиях в соответствии с иерархией наследования. Добавлено @ 14:15 странные у Вас представления о ругани Добавлено @ 14:18 т.е. другими словами, при статик_касте изменяется не только тип, но может измениться значение указателя, если оно не NULL.. а раз значение меняется , то это не проверка. Это сообщение отредактировал(а) mes - 16.9.2010, 14:20 |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
нет. просто, абсолютно не понятно, почему MSVC дает такой результат... |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
boostcoder, потому что MSVC поддерживает определенные ABI win32, экспорт методов и COM
|
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
такова ее реализация указателей на функции члены, стратегию которой можно задать в настройках компилятора и от которой будет зависеть размер указателя. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
не совсем понял о чем это я так понял речь идет об этом (пользовательские преобразования)
но причем тут пользовательские преобразования, если мы говорим об указателях? Добавлено через 3 минуты и 56 секунд значение конечно может и меняться, это же cast, но это не отменяет факта проверки. Я же не говорил, что static_cast это только проверка. |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
Использую только ()-кастование и dynamic_cast. Все остальное - синтаксическое излишество.
Добавлено через 14 секунд конс_каст не в счет. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
djamshud, всегда так и делал. но тут закрался червь сомнения. Если верить статье, которую привёл boostcoder, то
Это сообщение отредактировал(а) borisbn - 16.9.2010, 15:11 -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
это я наверно упустил.. я думал мы об общем сравнении reinterpreta и статика. чтоб убрать запутанности, покажу свое видение темы спора. Я придрался к фразе, смыслом которой был, что статик_каст отличается от реинтерпрет_каста наличием проверки. И высказал свое имхо, что суть не в наличие проверки, а в различном способе приведений, которое для одних и тех же данных может дать разный результат в зависимости от типа каста. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
аа..ну автор писал про указатели, я отвечал про указатели..вообще весь разговор вел в этом контексте..
ну я имел ввиду в контексте каста указателей, другого сравнения я и не предполагал, ведь reinterpret_cast вообще только с указателями работает. |
||||
|
|||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
borisbn, все правильно там написано. И что в этом плохого? Если начинаются пляски с определенным кастом, значит что-то пошло не так намного раньше написания кода. А const_cast я выделил отдельно, только потому, что это огромнейшая кривизна, либо хак by design, в обоих случаях const_cast это место прекрасно документирует.
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |