История изменений
Исправление KennyMinigun, (текущая версия) :
в третьем способе у тебя C-style cast, за который нонче в плюсах по рукам бьют. Лучше использовать (по мере убывания нужности):
Причем присутствие последних 3 в программе — один из симптомов плохого дизайна (да, есть исключения, когда действительно надо). А вот C-style cast пытается сделать все виды каста по этому скрывает «преступления».
А вообще — этот твой «третий» сбособ — вовсе не отдельный способ а по просту вариация второго плюс каст (к ссылке). Т.е. если использовать православный static_cast то выглядит даже нелепо:
RenderWindow* g_window;
if (static_cast<RenderWindow&>(*g_window).isOpen()) { ... }
Исходная версия KennyMinigun, :
в третьем способе у тебя C-style cast, за который нонче в плюсах по рукам бьют. Лучше использовать (по мере убывания нужности):
Причем присутствие последних 3 в программе — один из симптомов плохого дизайна (да, есть исключения, когда действительно надо). А вот C-style cast пытается сделать все каста по этому скрывает «преступления».
А вообще — этот твой «третий» сбособ — вовсе не отдельный способ а по просту вариация второго плюс каст (к ссылке). Т.е. если использовать православный static_cast то выглядит даже нелепо:
RenderWindow* g_window;
if (static_cast<RenderWindow&>(*g_window).isOpen()) { ... }