К> Я правильно понимаю, что c-style cast — это компилятор К> последовательно пробует сделать function cast, static_cast, К> а если не получилось — то reinterpret_cast ? Почти. function cast с одним аргументом определяется как раз через c-style cast, поэтому его, вообще, рассматривать не стоит. const_cast, static_cast, reinterpret_cast а также их комбинации применяются в следующем порядке:
static_cast static_cast + const_cast reinterpret_cast reinterpret_cast + const_cast Кроме того, в отличие от static_cast и reinterpret_cast, с помощью c-style cast можно приводить без соблюдения "прав доступа":
указатель на член унаследованного — к указателю на член базового:
указатель на член базового — к указателю на член унаследованного:
При необходимости в этих случаях также будет применен const_cast. |