Sowohl static_cast als auch reinterpret_cast scheinen gut zu funktionieren, um void * in einen anderen Zeigertyp umzuwandeln. Gibt es einen guten Grund, einander
Sowohl static_cast als auch reinterpret_cast scheinen gut zu funktionieren, um void * in einen anderen Zeigertyp umzuwandeln. Gibt es einen guten Grund, einander
Gibt es einen Grund, static_cast<>Casting im C-Stil vorzuziehen ? Sind sie gleichwertig? Gibt es einen
Was ist das Äquivalent von a static_castmit boost::shared_ptr? Mit anderen Worten, wie muss ich Folgendes umschreiben? Base* b = new Derived(); Derived* d = static_cast<Derived*>(b); bei der Verwendung shared_ptr? boost::shared_ptr<Base> b(new Derived());
Für den folgenden Code werden alle bis auf die letzte Zusicherung bestanden: template<typename T> constexpr void assert_static_cast_identity() { using T_cast = decltype(static_cast<T>(std::declval<T>())); static_assert(std::is_same_v<T_cast, T>); } int main() {...
Aus der GCC-Implementierung entnommen, type_traitswarum hier static_castbenötigt wird? template <typename _Tp, typename... _Args> struct __is_nt_constructible_impl : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> {}; template <typename _Tp, typename _Arg>...