Resultados de la búsqueda a petición "static-cast"

2 la respuesta

¿Por qué puedo usar static_cast con void * pero no con char *

Yo sé esoreinterpret_cast [http://en.cppreference.com/w/cpp/language/reinterpret_cast]se usa principalmente yendo hacia o desde unchar*. Pero me sorprendió descubrir questatic_cast [http://en.cppreference.com/w/cpp/language/static_cast]podría ...

9 la respuesta

¿Es mi método para evitar dynamic_cast <> más rápido que dynamic_cast <>?

Estaba respondiendo unpregunta [https://stackoverflow.com/questions/2758158/which-casting-technique-is-better-for-doing-casting-from-upper-class-to-lower-cla] Hace unos minutos y me planteó otro: En uno de mis proyectos, analizo algunos mensajes ...

4 la respuesta

¿Debo usar static_cast o reinterpret_cast al lanzar un vacío * a lo que sea

Parece que tanto static_cast como reinterpret_cast funcionan bien para convertir void * a otro tipo de puntero. ¿Hay una buena razón para favorecer a uno sobre el otro?

1 la respuesta

¿Cuál es la sobrecarga del tiempo de ejecución static_cast si se agrega constante mientras se mantiene el mismo tipo?

Me resulta irritante que pueda llamar a funciones no constantes de un objeto si tengo un puntero a este objeto. No puedo permitir que el puntero sea un puntero constante porque también hay funciones no constantes que necesito llamar. Por ...

7 la respuesta

¿Por qué tenemos reinterpret_cast en C ++ cuando dos static_cast encadenados pueden hacer su trabajo?

Di que quiero lanzarA* achar* y viceversa, tenemos dos opciones (quiero decir, muchos de nosotros pensamos que tenemos dos opciones,porqu ambos parece funcionar! De ahí la confusión!): struct A { int age; char name[128]; }; A a; char *buffer ...

2 la respuesta

reinterpret_cast para casi datos de pod (es suficiente compatibilidad de diseño)

Estoy tratando de aprender sobrestatic_cast yreinterpret_cast. Si estoy en lo correcto, el estándar (9.2.18) dice quereinterpret_cast para los datos del pod es seguro: Un puntero a un objeto POD-struct, convertido adecuadamente ...

2 la respuesta

valor del puntero static_cast'd

En el borrador actual del estándar (y C ++ 17),est [http://eel.is/c++draft/expr.static.cast#13] está escrito sobre static_casting avoid *: Un valor de tipo "puntero a cv1 void "se puede convertir a un valor de tipo" puntero a cv2 T ", donde T ...

5 la respuesta

Cómo implementar una verificación en tiempo de compilación de que un downcast es válido en un CRTP?

Tengo un CRPT viejo y simple (no se distraiga con las restricciones de acceso; la pregunta no es sobre ellos): template<class Derived> class Base { void MethodToOverride() { // generic stuff here } void ProblematicMethod() ...

2 la respuesta

Downcast en una jerarquía de diamantes

Por quéstatic_cast ¿no se puede bajar desde una base virtual? struct A {}; struct B : public virtual A {}; struct C : public virtual A {}; struct D : public B, public C {}; int main() { D d; A& a = d; D* p = static_cast<D*>(&a); //error } g ++ ...

4 la respuesta

static_cast con boost :: shared_ptr?

¿Cuál es el equivalente de unastatic_cast conboost::shared_ptr? n otras palabras, ¿cómo debo reescribir la siguiente Base* b = new Derived(); Derived* d = static_cast<Derived*>(b);cuando usasshared_ptr? boost::shared_ptr<Base> b(new ...