Resultados da pesquisa a pedido "static-cast"

1 a resposta

É legal converter um ponteiro para referência de matriz usando static_cast em C ++?

Eu tenho um ponteiroT * pValues que eu gostaria de ver como umT (&values)[N] Nesta resposta SOhttps://stackoverflow.com/a/2634994/239916 [https://stackoverflow.com/a/2634994/239916], a maneira proposta de fazer isso é T (&values)[N] = ...

7 a resposta

Por que temos reinterpret_cast em C ++ quando dois static_cast encadeados podem fazer seu trabalho?

Diga que eu quero transmitirA* parachar* e vice-versa, temos duas opções (quero dizer, muitos de nós pensam que temos duas opções,Porque ambos parecem funcionar! Daí a confusão!): struct A { int age; char name[128]; }; A a; char *buffer ...

9 a resposta

O meu método para evitar dynamic_cast <> é mais rápido que o dynamic_cast <>?

Eu estava respondendo aPergunta, questão [https://stackoverflow.com/questions/2758158/which-casting-technique-is-better-for-doing-casting-from-upper-class-to-lower-cla] alguns minutos atrás e me trouxe outro: Em um dos meus projetos, faço uma ...

4 a resposta

Devo usar static_cast ou reinterpret_cast ao lançar um void * para qualquer

Static_cast e reinterpret_cast parecem funcionar bem para converter void * para outro tipo de ponteiro. Existe uma boa razão para favorecer um sobre o outro?

2 a resposta

valor do ponteiro static_cast'd

No esboço atual padrão (e C ++ 17),esta [http://eel.is/c++draft/expr.static.cast#13]está escrito sobre static_casting umvoid *: Um pré-valor do tipo "ponteiro paracv1 void ”pode ser convertido em um pré-valor do tipo“ ponteiro paracv2 T ”, onde ...

1 a resposta

Qual é a sobrecarga do tempo de execução static_cast se você adicionar uma constante mantendo o mesmo tipo?

Acho irritante poder chamar funções não constantes de um objeto se tiver um ponteiro para esse objeto. Não posso deixar que o ponteiro seja um ponteiro const, porque também há funções não-const que preciso chamar. Portanto, minha única opção ...

5 a resposta

Como implementar uma verificação em tempo de compilação de que um downcast é válido em um CRT

Eu tenho um CRPT antigo simples (por favor, não se distraia com restrições de acesso - a questão não é sobre eles): template<class Derived> class Base { void MethodToOverride() { // generic stuff here } void ProblematicMethod() ...

2 a resposta

Downcast em uma hierarquia de diamantes

Por quêstatic_cast não pode fazer downcast de uma 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 a resposta

static_cast with boost :: shared_ptr?

Qual é o equivalente a umstatic_cast comboost::shared_ptr? Em outras palavras, como preciso reescrever o seguinte Base* b = new Derived(); Derived* d = static_cast<Derived*>(b);quando usarshared_ptr? boost::shared_ptr<Base> b(new Derived()); ...

6 a resposta

C ++ Quando devemos preferir usar um static_cast de dois encadeados em vez de reinterpret_cast

Em primeiro lugar, este não é um duplicado dePor que nós reinterpret_cast em C ++ quando dois static_cast encadeados podem fazer seu ...