static_cast <int> (foo) vs. (int) foo
Посмотрите, что Stroustrup has to say about that, включая typecast следующее:
Поскольку приведение c++ в стиле C (T) может использоваться cpp для выражения многих логически typecast различных операций, компилятор typecast имеет очень мало шансов уловить casting злоупотребления. [...]
Приведения cpp нового стиля были введены, чтобы typecast дать программистам возможность cpp более четко заявить о своих cast намерениях и чтобы компилятор cpp уловил больше ошибок. [...]
В typecast частности, C++ делает различие c++ между static_cast
и reinterpret_cast
:
Идея состоит в cpp том, что преобразования, разрешенные cxx static_cast, с меньшей вероятностью cxx приведут к ошибкам, чем преобразования, требующие typecast reinterpret_cast. В принципе, можно cast использовать результат static_cast, не typecast возвращая его к исходному typecast типу, тогда как вы всегда cxx должны приводить результат casting reinterpret_cast обратно typecast к исходному типу, прежде c++ чем использовать его, чтобы cpp гарантировать переносимость.
c++
casting
static_cast <int> (foo) vs. (int) foo
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.