Ist das gültige C++ (unter Berücksichtigung des neuesten Standards)? Ich erhalte mit Ubuntu 12.04 einen Kompilierfehler mit "fast-top-of-tree" clang/libC++. Wenn es gültig sein sollte, sende ich die clang-dev-Liste mit Fehlermeldungen und so weiter.Ist ungeordneter_satz <reference_wrapper <Ty>> gültig?
#include <functional>
#include <unordered_set>
struct X
{
int i;
};
void f()
{
std::unordered_set<std::reference_wrapper<X>> setOfReferencesToX;
// Do stuff with setOfReferencesToX
}
** Als beiseite, ich bin müde von der Qualifikation, dass die Frage/Antwort auf den neuesten Stand spezifisch ist. Könnte die C++ - Community als Ganzes beginnen, stattdessen Dinge zu programmieren, die spezifisch für den alten Standard sind? Der neuere Standard ist seit etwa einem Jahr nicht mehr verfügbar.
+1 für die Endnote. – Griwes
"Könnte die C++ - Community als Ganzes beginnen, stattdessen Dinge zu programmieren, die spezifisch für den alten Standard sind?" Nein. Angesichts der schieren Anzahl von Benutzern, die nicht in der Lage sind, auf einen Compiler mit vollständigerer C++ 11-Unterstützung zu aktualisieren, ganz zu schweigen von der Beliebtheit einer bestimmten Compilerfamilie, die nur langsam ihre C++ 11-Unterstützung aktualisiert, geht C++ C++ 03 für mindestens ein weiteres Jahr, wenn nicht zwei. Und vergessen wir nicht, dass weder GCC noch Clang volle Übereinstimmung mit C++ 11 beanspruchen. Die Zukunft ist nicht die Gegenwart, und so zu tun, als ob sie es ist, wird es nicht so machen. –