Alguien me preguntó recientemente la diferencia entre un operador estándar de C++ (por ejemplo, nuevo, eliminar, tamaño) y función (por ejemplo, bronceado, libre, malloc). Por "estándar" me refiero a los proporcionados por defecto por el conjunto de compiladores, y no definidos por el usuario. A continuación se encuentran las respuestas que di, aunque ninguna parecía satisfactoria.Operadores vs Funciones en C/C++
(1) Un operador no necesita ningún encabezado para ser incluido para usarlo: P. ej. puede llamar a lo nuevo sin incluir encabezados. Sin embargo, una función (digamos libre()) necesita encabezados incluidos, obligatoriamente.
(2) Un operador se define como tal (es decir, como un operador de clase) en algún lugar de los encabezados estándar. Una función no es.
¿Puede criticar estas respuestas y darme una mejor idea de la diferencia?
¿Se usa "borrar" en ambos conjuntos intencionalmente? – Sev
Consulte http://stackoverflow.com/questions/184537/in-what-cases-do-i-use-malloc-vs-new – nico
No, corregido ahora – PKG