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

2 la respuesta

¿Diferencia de C ++ entre agregar constness con static_cast y const_cast de "this" object?

De acuerdo con Scott Meyers, para evitar la repetición de código en la versión const de un getter y la versión no constante de un getter, llame a la versión ...

3 la respuesta

¿Por qué no puedo static_cast entre char * y unsigned char *?

Al parecer, el compilador considera que son tipos no relacionados y por lo tanto

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?

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 ++ ...

6 la respuesta

¿Por qué no se puede utilizar static_cast para hacer down-cast cuando se trata de una herencia virtual?

Considere el siguiente código: struct Base {}; struct Derived : public virtual Base {}; void f() { Base* b = new Derived; Derived* d = static_cast<Derived*>(b); } Esto está prohibido por el estándar [n3290: 5.2.9/2]) para que el código no se ...

6 la respuesta

C ++ ¿Cuándo deberíamos usar un static_cast de dos cadenas sobre reinterpret_cast

n primer lugar, este no es un duplicado de ¿Por qué tenemos reinterpret_cast en C ++ cuando dos static_cast encadenados pueden hacer su ...

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 ...

7 la respuesta

C ++ no puede convertir de la base A al tipo B derivado a través de la base virtual A

Tengo tres clases: class A {}; class B : virtual public A {}; class C : virtual public A {}; class D: public B, public C {};Al intentar un reparto estático de A * a B * obtengo el siguiente error: cannot convert from base A to derived type B ...

1 la respuesta

Seguridad de downcast no válido utilizando static_cast (o reinterpret_cast) para herencia sin miembros agregados

Me preguntaba qué dice la norma sobre la seguridad del siguiente código:

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 ...