2015-05-07 17 views
5

Wenn ich einige Fragen lese, finde ich Leute bevorzugen, etwas wie "§ 27.7.3.6.2/1 [ostream.inserters.arithmetik]" zu verwenden, um ihre Frage zu beschreiben. Ich glaube, dass es etwas mit C++ verbunden hat. HierWorauf bezieht sich § 27.7.3.6.2/1?

ist die Link-Adresse dieser Frage: Formatted output arithmetic inserters

Was ich fragen will, ist: Was bedeutet "§ 27.7.3.6.2/1" beziehen sich auf? Bedeutet es ein Buch oder etwas anderes? Wenn es ein Buch ist, erzähle mir bitte den Namen dieses Buches.

Antwort

1

Es bezieht sich auf den Abschnitt des Dokuments, der bezeichnet wird. In der verknüpften Frage beziehen sie sich auf C++ standard.

Um es klarer zu machen ist es genau wie ein Index in Ihrem Buch, die Sie in der Regel für den schnellen Abruf beziehen. Sie verweisen auf einen bestimmten Abschnitt, indem Sie das durchgehen.

+0

Vielen Dank.Kennen Sie den Namen dieses Dokuments? Ich finde jemanden esle verwenden es auch. Zum Beispiel, http://stackoverflow.com/questions/8239262/why-is-the-address-of-this-volatile-variable-always-at-1 Wie GMan sagt, sollte die cv-Qualifikation des Typs auf hingewiesen werden für das Geschäft, eine Adresse zu drucken, irrelevant sein. Vielleicht sollte die in 27.7.3.6.2 definierte Überladung operator << sein (const volatile void * val); ich kann keinen Nachteil sofort sehen. – MacroFun

+0

@utility: - Hinzugefügt. –

+0

@barley: - Es ist dem Index sehr ähnlich, den Sie auf der ersten Seite Ihres Buches finden. Wenn Sie auf einen Abschnitt verweisen möchten, verweisen Sie auf den Index für den schnellen Abruf. –

3

Wenn Sie über standardisierte Sprachen wie C und C++ sprechen, bezieht sich das im Allgemeinen auf den Abschnitt im Standard (in diesem Fall ISO C++). § 27.7.3.6.2/1 bedeutet Abschnitt 27.7.3.6.2, Teil 1 dieses Abschnitts.

In C++ 11, dass insbesondere Abschnitt:

27.7.3.6.2 Arithmetic inserters [ostream.inserters.arithmetic] 

und Teil 1 heißt es:

Effekte: Die Klassen num_get<> und num_put<> Griff locale abhängige numerische Formatieren und Parsen. Diese Einfügefunktionen verwenden den angegebenen Gebietsschemawert, um eine numerische Formatierung durchzuführen. Wenn val vom Typ bool, long, unsigned long, long long, unsigned long long, double, long double oder const void* tritt die Formatierungs Umwandlung, als ob es das folgende Codefragment durchgeführt:

... und so weiter.

Sie können die endgültigen Versionen der Standards (kostenpflichtig) von Ihrem lokalen Standardisierungsgremium erhalten, obwohl Sie im Allgemeinen die endgültigen Entwürfe kostenlos im Internet erhalten können, die den endgültigen Versionen nahe sind (obwohl, um ehrlich zu sein Ich bin nicht ganz sicher, was den urheberrechtlichen Status dieser Entwürfe angeht).

+0

Vielen Dank. – MacroFun

1

Es bezieht sich auf den C++ - Standard, auch bekannt als "ISO/IEC 14882", ein offizielles Dokument von ISO veröffentlicht, das die Syntax und Semantik der Standard-C++ - Sprache angibt.

Leider ist der Standard tatsächlich teurer als die meisten Bücher, aber Sie können online Entwürfe finden, die den offiziellen Standards nahe kommen. Siehe: Where do I find the current C or C++ standard documents?

Bisher gab es vier Standards, veröffentlicht in 1998, 2003, 2011 und 2014, daher die Namen C++ 98, C++ 03, C++ 11 und C++ 14. Das OP der anderen Frage gab nicht an, auf welche Revision es sich bezieht.Ich überprüfte sowohl die 2011 und 2014 Standards, und sie beide haben das gegebene Zitat an der gegebenen Absatznummer.

Die numerische Referenz "27.7.3.6.2/1" kann sich von einer Revision zur nächsten ändern. "[ostream.inserters.arithmetik]/1" ist stabiler, da sich die Abschnittsnamen nicht ändern, aber Absatznummern und Formulierungen können sich immer noch ändern, daher ist es wichtig, anzugeben, auf welche Revision Sie sich beziehen.

Verwandte Themen