crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Приведение типов C++/QT
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 4.6.2012, 7:28
 
Цитата(kuler @ 1.10.2008, 17:04) *
Исправляйте репутацию.

готово!

==============================

моё ИМХО

1) использование static_cast иногда может быть вполне оправдано - для подстраховки на этапе компиляции.

2) Необходимость использования dynamic_cast:
a ) признак кривого проектирования. Равно как и явное приведение к void* и из него - тоже такой признак
b ) при поддержке чужого запутанного кода - это подстраховка в реалтайме (можно всегда результат каста проверить на ноль)
Поэтому лучше проектировать так, чтобы кастить через этот оператор не было необходимости.
Кроме того, для возможности применения dynamic_cast класс обязан иметь хотя бы одну виртуальную функцию, что не всегда приемлимо

3 ) Необходимость использования reinterpret_cast : см. п 2)a) . Но ещё иногда требуется, к примеру, при взамодействии с ранее написанным кодом на чистом си (пример - WinAPI , извещения WM_NOTIFY от стандартных контролов)

Критика принимается :)
Гость_Barabas_* Дата 2.6.2012, 12:32
  Благодарю за эту информацию! Искал именно это=)
kuler Дата 2.10.2008, 15:26
 
Цитата(Tonal @ 2.10.2008, 14:15) *
Цитата(kuler @ 1.10.2008, 18:04) *
static_cast срабатывает на этапе компиляции, проверяет типы на подобность, dynamic_cast срабатывает на этапе выполнения...

Я этому где-нибудь противоречил?
Перечитай внимательно что я написал. :)

Я не описывал поведение обоих приведений а всего лишь утверждал о их взаимозаменимости в частном случае.
Или ты можешь привести пункт стандарта, который запрещает то, о чём я написал?

да я не тебе написал, а первому сообщению
Tonal Дата 2.10.2008, 13:15
 
Цитата(kuler @ 1.10.2008, 18:04) *
static_cast срабатывает на этапе компиляции, проверяет типы на подобность, dynamic_cast срабатывает на этапе выполнения...

Я этому где-нибудь противоречил?
Перечитай внимательно что я написал. :)

Я не описывал поведение обоих приведений а всего лишь утверждал о их взаимозаменимости в частном случае.
Или ты можешь привести пункт стандарта, который запрещает то, о чём я написал?
Litkevich Yuriy Дата 1.10.2008, 14:13
 
Цитата(kuler @ 1.10.2008, 18:04) *
Исправляйте репутацию.
все в твоих руках.
Вот тема, в ней конкретные сообщения. Поправь их, добавь точности или укажи где ошибка и как должно быть, чтобы было без ошибки.

принесешь полезную информацию, репутация поднимится
kuler Дата 1.10.2008, 14:04
  static_cast срабатывает на этапе компиляции, проверяет типы на подобность, dynamic_cast срабатывает на этапе выполнения проверяя реально ли можно приравнять объекты, кроме того объекты должны быть полиморфны, нельзя приравнивать void*.
Исправляйте репутацию.
ViGOur Дата 1.10.2008, 12:08
 
Цитата(kuler @ 1.10.2008, 12:15) *
про static_cast и dynamic_cast написано не шибко правильно

Цитата(kuler @ 1.10.2008, 12:44) *
вломы писать, там много, труп страуса почитайте
дело в том, что если так говоришь, то нужно описать, что именно не так! Иначе лучше просто промолчать... ;)
AD Дата 1.10.2008, 11:57
 
Цитата(kuler @ 1.10.2008, 12:44) *
вломы писать, там много, труп страуса почитайте

Тогда нефиг хаять! Вообще, за такого рода посты я бы забанил. Что за ерунда? Вполне достоверная информация была приведена. Если она неполная, то можно дополнить, а не хаять!
kuler Дата 1.10.2008, 11:44
 
Цитата(fsMark @ 1.10.2008, 12:27) *
Цитата(kuler @ 1.10.2008, 12:15) *
про static_cast и dynamic_cast написано не шибко правильно


Ждем спаведливой критики :)

вломы писать, там много, труп страуса почитайте
fsMark Дата 1.10.2008, 11:27
 
Цитата(kuler @ 1.10.2008, 12:15) *
про static_cast и dynamic_cast написано не шибко правильно


Ждем спаведливой критики :)
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 5:20