Es ist allgemein bekannt, dass sowohl C++ Features von C übernimmt, aber dass C auch C++-Features standardisiert. C1x hat Temporäre mit vollem Ausdruck erhalten (zuvor hatte es nur Temporäre mit Sequenzpunkten). C1x hat auch von den C++11-Threading-Bemühungen profitiert.
Ich frage mich, welche anderen Funktionen C1x von C++ übernommen hat?
+1. Das weiß ich auch gerne.
– Nawaz
6. Dezember 2011 um 8:52 Uhr
Siehe auch stackoverflow.com/questions/3341001/…
– Matt Tischler
6. Dezember 2011 um 8:58 Uhr
Dieser Wikipedia-Artikel scheint ein netter Link zu sein. Allerdings weiß ich nicht, was die Motivation für die Existenz von C1x ist.
– iammilind
6. Dezember 2011 um 9:04 Uhr
Leute, diese Frage will nicht wissen “Wann wird es landen, was kann ich erwarten?”. Sie nehmen an, jemand weiß, welche dieser erwarteten Funktionen von C++ geerbt wurden! Ich habe zumindest keine Ahnung.
..aber ich bin mir nicht sicher, welche ausdrücklich von C++ geerbt wurden.
Generika? Du meinst Vorlage?
– Nawaz
6. Dezember 2011 um 8:58 Uhr
@Nawaz: Nein, es heißt Generika und ist ein hässliches Feature, das verwendet werden soll, wenn das Überladen von Funktionen in C++ seit Jahren verwendet wird. ZB wenn Sie schreiben wollen sin(x) das Richtige zu nennen sin je nachdem ob x ist float, double oder long double.
– Jakow Galka
6. Dezember 2011 um 9:02 Uhr
@Nawaz ybungalobill hat das gut beantwortet =) aber ich werde ein Beispiel aufwerfen, um Verwirrung zu vermeiden.
– justin
6. Dezember 2011 um 9:07 Uhr
@ybungalobill: Danke für die Mini-Einführung. Kann das Generikum von C1x für die generische Implementierung von Datenstrukturen wie Stack, Queue usw. verwendet werden?
– Nawaz
6. Dezember 2011 um 9:10 Uhr
Wie Sie in Ihrem Beispiel sehen, mit _Generic, tgmath.h kann wieder in ISO C implementiert werden. Wie auch immer, es ist überhaupt nicht von C++ übernommen, im Gegensatz zu beispielsweise Atomic, das mit Blick auf C++ und C1x gemeinsam entwickelt wurde.
– u0b34a0f6ae
6. Dezember 2011 um 11:53 Uhr
Der Threading-Teil von C1x (5.1.2.4) ist fast wörtlich von C++11 übernommen. Begriffe wie “Konflikt” und “atomare Operationen” haben für alle praktischen Zwecke identische Definitionen.
Ausrichtung ist auch von C++11 inspiriert: das Schlüsselwort ist alignofund der maximal ausgerichtete Typ ist max_align_t (fallenlassen der std:: Namensraum natürlich).
+1. Das weiß ich auch gerne.
– Nawaz
6. Dezember 2011 um 8:52 Uhr
Siehe auch stackoverflow.com/questions/3341001/…
– Matt Tischler
6. Dezember 2011 um 8:58 Uhr
Dieser Wikipedia-Artikel scheint ein netter Link zu sein. Allerdings weiß ich nicht, was die Motivation für die Existenz von C1x ist.
– iammilind
6. Dezember 2011 um 9:04 Uhr
Leute, diese Frage will nicht wissen “Wann wird es landen, was kann ich erwarten?”. Sie nehmen an, jemand weiß, welche dieser erwarteten Funktionen von C++ geerbt wurden! Ich habe zumindest keine Ahnung.
– Johannes Schaub – litb
6. Dezember 2011 um 9:17 Uhr