Vedo __PRETTY_FUNCTION__
utilizzato molto nelle risposte alle domande su questo sito e comprendo l'utilità di questa funzione, ma perché si chiama esattamente __PRETTY_FUNCTION__
? Non è una brutta funzione, ma non è neanche carina.Perché __PRETTY_FUNCTION__ ha chiamato __PRETTY_FUNCTION__?
8
A
risposta
8
Penso che sia chiamato __PRETTY_FUNCTION__
perché è un "decorato" __FUNCTION__
(almeno in C++, in C sono entrambi equivalenti). In C++, vengono visualizzati anche il tipo di ritorno e il tipo di parametri.
noti che sia __PRETTY_FUNCTION__
e __FUNCTION__
non sono C ma GNU C. __func__
è C.
1
Questo è un costrutto nell'ambito del CCG che emette la firma tipo della funzione in C++, ed è sinonimo di __func__
in C :
2
E 'probabilmente deriva dall'espressione "pretty-print", che significa la formattazione stilistica di file di testo, come fonte di programma.
Problemi correlati
- 1. Come verificare se __PRETTY_FUNCTION__ può essere utilizzato?
- 2. Visual C++ equivalente di __FILE__, __LINE__ e __PRETTY_FUNCTION__
- 3. Perché non viene chiamato -didDeselectRowAtIndexPath?
- 4. OnItemSelectedListener.onNothingSelected ha chiamato?
- 5. prepareForSegue non viene chiamato quando viene selezionata la riga UITableView?
- 6. Perché QObject ha distrutto il segnale chiamato DOPO la distruzione?
- 7. Perché il distruttore ha chiamato più del costruttore?
- 8. Perché l'Observer in NSNotification ha chiamato due volte ....?
- 9. Perché il distruttore della classe ha chiamato due volte?
- 10. ContentProvider Android getType() ha chiamato quando e perché
- 11. Perché RecyclerView onBindViewHolder ha chiamato solo una volta?
- 12. Perché il mio distruttore non ha mai chiamato?
- 13. Perl 6 ha chiamato tuple?
- 14. inviteHandler non ha mai chiamato
- 15. Quando ha initWithCoder ottenere chiamato?
- 16. didRegisterForRemoteNotificationsWithDeviceToken ha chiamato due volte?
- 17. Perché viene chiamato $ HTTP_RAW_POST_DATA?
- 18. [AnyObject]? ' non ha un membro chiamato 'subscript'
- 19. perché textFieldDidEndEditing: non viene chiamato?
- 20. Come scoprire chi ha chiamato un metodo?
- 21. Android. onEditorAction non ha mai chiamato
- 22. doFilter ha chiamato due volte, comportamento previsto?
- 23. Swift 'non ha un membro chiamato'
- 24. className.type non ha un membro chiamato 'appDel'
- 25. Perché GetVaryByCustomString non viene chiamato
- 26. willTransitionToTraitCollection non viene chiamato, perché?
- 27. Perché non viene chiamato onBackPressed()?
- 28. Perché PostConstruct non viene chiamato?
- 29. Perché RAII è così chiamato?
- 30. Perché questo è chiamato polimorfismo?
Come dicono i documenti, "in C++,' __PRETTY_FUNCTION__' contiene la firma tipo di funzione così come il suo nome a nudo". Immagino che chiunque abbia implementato questa caratteristica del compilatore abbia deciso che quei nomi erano più belli dei nomi delle funzioni nude. –