c++ pointer "Avviso: uso del cast vecchio stile" in g++




cast a variable c++ (2)

Possibile duplicato:
Quando dovrebbero essere usati static_cast, dynamic_cast e reinterpret_cast?

Con questo codice C ++,

char* a = (char*) b;

Ho warning: use of old-style cast .

Quale sarebbe il cast di nuovo stile?



Answer #2

reinterpret_cast , static_cast , dynamic_cast e const_cast sono le alternative del cast c ++.

  • const_cast per rimuovere const / volatile da una variabile const.
  • dynamic_cast per eseguire controlli di validità runtime durante il casting tra tipi polimorfi
  • static_cast per eseguire ad esempio up / down-cast in una gerarchia di ereditarietà, ma senza controlli di runtime, o per eseguire esplicitamente conversioni che potrebbero essere implicite (ad esempio float to int)
  • reinterpret_cast per convertire tra tipi non correlati.






g++