2016-07-27 12 views
8

Dies ist einer der wichtigsten Gründe für mich, C/C++ beim Schreiben einiger Klassen von Systemsoftware zu verwenden, aber es ist nichts anderes als eine Compiler-Erweiterung, die sehr häufig vorkommt. Warum erwägt der Ausschuss nicht, ihn offiziell zu unterstützen? War es nicht kompatibel mit irgendwelchen Klauseln in der bestehenden Spezifikation, wie Does public and private have any influence on the memory layout of an object?Was verhindert, dass __attribute __ ((gepackt)) in ISO C/C++ gelangt?

+2

Ausrichtung, am wichtigsten. –

+2

Es gibt keine "ISO C/C++". Auch wenn der Umgangssprache "C/C++" grassiert und oft verständlich ist, würde ich, wenn Sie speziell über Standardisierung nachfragen, mit solchen Details rechnen. –

+3

@KerrekSB Hier scheint es für "ISO C und/oder ISO C++" kurz zu sein. Das ist eine ganz gewöhnliche englische Verwendung ... Ich habe nur das Wort "und/oder" benutzt, aber Sie würden sich nicht beschweren, dass es keinen logischen Operator namens "und/oder" gibt. – immibis

Antwort

2

Warum denkt der Ausschuss nicht darüber nach, es offiziell zu unterstützen?

Weil niemand es vorgeschlagen hat. Das nächste, was einem solchen Vorschlag nahekommt, ist N3986 (PDF), was nur für Bitfelder funktioniert. Die comments from the discussion schlagen vor, dass das Komitee interessiert wäre, aber sie wollen verstehen, was bestehende Praxis tut, bevor sie versuchen, es weiter zu standardisieren.

Seitdem hat derjenige, der für diesen Vorschlag verantwortlich war, beschlossen, ihn nicht weiter zu verfolgen.