![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ммм.. разве ? |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
mes, да)
-------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
интегер в указатель .. хотя если грубо то в принципе можно отнести к "только с указателями" Добавлено @ 15:41 ну как сказать.. ну вот например : http://codepad.org/Lw5JRCml Это сообщение отредактировал(а) mes - 16.9.2010, 15:44 |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
разница лишь синтаксическая http://codepad.org/CdLbCjqY |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
для interpret`a да, но не для static_cast`a.. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
да, но отклонись к этому разговору, в следствии того, чтоб прояснить почему сравниваем касты в контексте указателей. Поэтому если мы принимаем что указатель и референсе дают одинаковый результат, то необходимо примерять сей факт на оба каста.. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
||||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
я и не говорил, что плохо IMHO и static_cast и reinterpret_cast тоже получше документируют место, чем (), но это - не решающий аргумент, а я как раз хотел увидеть решающий, и не увидел, поэтому пошёл хоронить червя -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
по отношению к конвертации char * в unsigned char * или в общем случае ? |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
borisbn,
>IMHO и static_cast и reinterpret_cast тоже получше документируют место, чем (), но это - не решающий аргумент, а я как раз хотел увидеть решающий, и не увидел, поэтому пошёл хоронить червя Имхо, обычные касты документировать не нужно, т.к. это не хаки. Действительно хак - избавляться от константности. А преоразование типа - это нормальная практика. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 22 Всего: 135 |
не считаю это - нормальной практикой. почему если ты ( или кто-то другой ) забыл поставить const, то const_cast - хак, а если ты ( или кто-то другой ) не определил перегруженные функции для всех простых типов, не сделал шаблон, сделал char *, вместо void * - это не хак, а нормально ? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| djamshud |
|
|||
![]() Пердупержденный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: 8 Всего: 39 |
borisbn, принудительное кастование типов происходит не по забывчивости, а по необходимости. Тогда, когда автоматическое не срабатывает. Примеров можно придумать много, начиная от передачи чего-то в printf (ой, как не по-плюсовому!:) ) и заканчивая приведением типов по дереву наследования, когда динамический каст не нужен. Я говорю про такое использование кастования. Когда это происходит по чьей-то забывчивости (читай - глупости) - это конечно хак, и тут наверное обозначить его стоит, хотя хак этот - следствие ошибки, допущенной еще до начала написания кода. Так может лучше исправить первопричину? Про кривые библиотеки знаю. Не пользуюсь.
А использование const_cast - всегда очень тонкое место, будь то грязный хак или гениальный трюк. Добавлено через 5 минут ЗЫ. В предыдущем сообщении кривизной я называл грязный хак, а хак by design - гениальный трюк. Сорри за путаницу в терминалогии:). -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
| Abyx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 601 Регистрация: 3.11.2009 Репутация: 1 Всего: 10 |
djamshud, const_cast - средство языка, так что это по определению не хак.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |