![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Всех приветствую очередной проблемой заведшей меня в ступор.
Пусть имеем:
Добавлено @ 19:02 Я думаю ясно, что вопрос - почему static_cast работает так? -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
| Fantasist |
|
|||
|
Лентяй ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1517 Регистрация: 24.3.2002 Репутация: 4 Всего: 41 |
Боюсь, что это не static_cast. Дело в том, что выражение 1/num_steps будет интерпретированно как целочисленное деление, так как по умолчанию литерал "1" - это число целого типа. Так что значение этого выражения 0, и к чему ты его не приводи оно будет нулем.
Другое дело, выражение (double)1/num_steps - здесь явно указанно, что еденицу надо считать типом double, а раз чеслитель дробного типа, то и деление будет соответсвующее. Эквивалент со static_cast:
-------------------- Волны гасят ветер... |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Конечно, сперва выражение эвалуируется, а потом уже каст
А почему не сделать так:
|
|||
|
||||
| Royan |
|
|||
|
Dreamer ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 14.9.2002 Где: Лондон Репутация: нет Всего: 15 |
Fantasist
sergej.z Спасибо за разъяснения и мысли, что называется просёк поляну. -------------------- Открыта вакансия Junior Java Developer'а в нашем лондонском офисе, подробнее можно узнать здесь |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |