Ich habe mich gefragt, was __cerb
in libstdc++
von g++
bedeutet, und ich fand heraus, dass dies ein Kurzname für cerberos
ist, wie im offiziellen C ++ - Standarddokument genannt.
§ 22.3.1 / 3:
[Beispiel: Ein Iostream
%Vor%operator<<
könnte wie folgt implementiert werden:- Ende Beispiel]
Warum werden iostream sentry
Objekte cerberos
genannt, und was bedeutet cerberos
eigentlich?
Cerberus war der dreiköpfige Hund 1 der die Tore der Hölle bewachte und diese behielt Eingeschlossen von der Überquerung zurück über den Fluss Styx. Wer auch immer diesen Abschnitt geschrieben hat, dachte an die griechische und / oder römische Mythologie und entschied, dass es ein geeigneter Name für einen lokalen variablen Posten wäre.
Warum es in os endet, kann man sich drei Szenarien vorstellen:
1. Anscheinend ist die Anzahl der Köpfe auf Cerberus variabel. Vielleicht wird dies besser ausgedrückt als "N-köpfiger Hund, wobei N größer als oder gleich 1 ist."
Tags und Links c++ iostream naming-conventions naming