Diese Frage bezieht sich auf:Verwendung CBEGIN Zwingen()/CEND() in bereichsbasierte für
When should I use the new ranged-for and can I combine it with the new cbegin/cend?
Basierend auf diese Frage, die Verwendung von cbegin()
und cend()
zu zwingen, muss man tun Beispiel:
for (auto& v: const_cast<decltype(container) const>(container))
Das ist eine Menge Standardcode für ein Konstrukt, das es beseitigen sollte. Gibt es einen kompakteren Weg dies zu tun? Der Grund für meine Frage ist, dass ein implizit geteilter Container meine Verwendung von begin()
als einen Anhaltspunkt dafür, sich zu lösen, verwenden könnte.
Die fored-for-Schleife wurde für die Bequemlichkeit hinzugefügt, nicht als Ersatz für die bestehende for-Anweisung. Vielleicht ist dies ein Fall, in dem die alte for-Schleife nützlicher ist? –
Sie wollen wahrscheinlich 'declltype ((container))', um eine Referenz zu erhalten. – ecatmur
Sie können einfach "const auto & v" eingeben. –