Veo __PRETTY_FUNCTION__
usado mucho en las respuestas a las preguntas en este sitio, y entiendo la utilidad de esta función, pero ¿por qué exactamente se llama __PRETTY_FUNCTION__
? No es una función fea, pero tampoco es exactamente bonita.¿Por qué __PRETTY_FUNCTION__ se llama __PRETTY_FUNCTION__?
8
A
Respuesta
8
Creo que se llama __PRETTY_FUNCTION__
porque es un "decorado" __FUNCTION__
(al menos en C++, en C ambos son equivalentes). En C++, también se muestran el tipo de devolución y el tipo de parámetros.
Nota que tanto __PRETTY_FUNCTION__
y __FUNCTION__
no son C pero GNU C. __func__
es C.
1
esto es una construcción dentro de la GCC que da salida a la firma de tipo de la función en C++, y es sinónimo de __func__
en C :
2
Se deriva probablemente de la expresión "agradable para la impresión", es decir, el formato estilístico de archivos de texto sin formato, como fuente del programa.
Cuestiones relacionadas
- 1. ¿Cómo verificar si __PRETTY_FUNCTION__ se puede usar?
- 2. Visual C++ equivalente de __FILE__, __LINE__ y __PRETTY_FUNCTION__
- 3. ¿Por qué se llama 'Cadena'?
- 4. ¿Por qué se llama nillable?
- 5. ¿Por qué se llama RAII?
- 6. ¿Por qué se llama onBlur?
- 7. ¿Por qué se llama BSON?
- 8. ¿Por qué se llama una pseudo clase?
- 9. ¿Por qué paint()/paintComponent() nunca se llama?
- 10. ¿Por qué Node.js se llama Node.js?
- 11. ¿Por qué mi destructor nunca se llama?
- 12. ¿Por qué se llama AJAX asincrónico?
- 13. ¿Por qué onKey() se llama dos veces?
- 14. ¿por qué textFieldDidEndEditing: no se llama?
- 15. ¿Por qué el archivo se llama catalina.out?
- 16. ¿Por qué contextInitialized() se llama varias veces?
- 17. ¿Por qué no se llama a Application.OnStartup?
- 18. ¿Por qué se llama .NET .NET?
- 19. ¿Por qué se llama onResume() cuando se inicia una actividad?
- 20. ¿Por qué before_save no se llama para mi modelo ActiveRecord?
- 21. ¿Por qué se llama a hashcode en este ejemplo?
- 22. ¿Por qué se les llama "la pandilla de los cuatro"?
- 23. ¿Por qué numberOfSectionsInTableView se llama dos veces en UITableViewController?
- 24. ¿Por qué no se llama mi filtro de acción?
- 25. ¿Por qué 'dir()' se llama 'dir' en python?
- 26. ¿Por qué se llama a ContentProvider.onCreate() antes de Application.onCreate()?
- 27. ¿Por qué no se llama a mi delegado de CLLocationmanager?
- 28. ¿Por qué se llama varias veces al constructor HttpApplication?
- 29. Android: ¿por qué mi OnKeyListener() no se llama?
- 30. ¿Por qué el verbo HTTP POST se llama POST?
Como dicen los documentos, "en C++,' __PRETTY_FUNCTION__' contiene la declaración de tipo de la función, así como su nombre desnudo". Supongo que quien implementó esta característica del compilador decidió que esos nombres eran más bonitos que los nombres de las funciones desnudas. –