Sono ben consapevole del vantaggio nell'uso di static_cast
anziché della trasmissione in stile C per i tipi di puntatori.C'è qualche vantaggio nell'uso di statico_cast piuttosto che di casting in stile C per i tipi non puntatori?
Se i tipi di puntatore sono incompatibili, quindi:
static_cast
darà un errore di compilazione in una riga specifica all'interno del codice sorgente- C-style fusione potrebbe portare a un errore di runtime in un punto "casuale" nell'esecuzione del programma
Ma non riesco a trovare esempi simili per i tipi senza puntatore.
In altre parole, entrambi i metodi di fusione producono lo stesso risultato per i tipi senza puntatore.
È corretto o mi sono perso qualcosa?
In caso affermativo, è static_cast
utilizzato solo per i tipi non puntatori al fine di mantenere la coerenza di codifica?
A un cast di tipo C non interessa se l'input o l'output sono un puntatore. Sarà felicemente convertire tra puntatori e non puntatori. –
Ho trovato una bella spiegazione [qui] (http://en.cppreference.com/w/cpp/language/explicit_cast). – TobiMcNamobi
@ Dinal24: Non fa riferimento alla mia domanda specifica riguardante i vantaggi di 'static_cast' rispetto al cast regolare nel caso di ** tipi non-pointer **. –