una pregunta relacionada con Regular cast vs. static_cast vs. dynamic_cast:C++ estilos de sintaxis fundido
Lo echó estilo de sintaxis preferís en C++? sintaxis
- -estilo C reparto:
(int)foo
- C++ - estilo de sintaxis reparto: sintaxis
static_cast<int>(foo)
- constructor:
int(foo)
Ellos pueden no traducirse en exactamente las mismas instrucciones (¿verdad?) pero su efecto debería ser el mismo (¿verdad?).
Si solo está alternando entre los tipos numéricos incorporados, encuentro que la sintaxis del molde de estilo C++ es demasiado detallada. Como antiguo codificador de Java, suelo usar la sintaxis del estilo C en su lugar, pero mi gurú local de C++ insiste en usar la sintaxis del constructor.
¿Qué opinas?
Me pregunto cuántas veces ha buscado un molde en su código con un herramienta automatizada ... – Blindy
@Blindly: sucede. Ya he hecho eso. Recuerde que en C++, a diferencia de otros lenguajes (Java, C#), generalmente puede programar sin conversión. Cada lanzamiento explícito en su código es un defecto de diseño potencial. La identificación de moldes en su código C++ es un paso importante en la refactorización. En C# sería por supuesto ridículo buscar moldes en código, ¡están en todas partes! –
@Konrad: Y, por supuesto, tanto Java * como * C# también tienen su propio equivalente de 'dynamic_cast', que es un elenco especial. – Puppy