Sind Const-Referenzwerte von Nutzen?
Die Skepsis gegenüber dem Nutzen von const Foo&&, wobei Foo einen Klassentyp darstellt, ist nicht unbegründet . Entgegen der anfänglichen Annahme gibt es jedoch gelegentliche Anwendungen für konstante Referenzwerte.
Der C 0x-Entwurf liefert ein bemerkenswertes Beispiel mit den folgenden Deklarationen:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
Diese Überladungen verhindern, dass ref(T& ) und cref(const T&) von der Bindung an R-Werte, was sonst möglich wäre.
Außerdem der offizielle C-Standard N3290 enthält einen ähnlichen Satz von Deklarationen:
template <class T> void ref(const T&&) = delete; template <class T> void cref(const T&&) = delete;
Diese Beispiele zeigen die Nützlichkeit von konstanten Referenzwerten bei der Verhinderung einer versehentlichen Bindung an R-Werte.
Das obige ist der detaillierte Inhalt vonWann sind Const-Referenzwerte in C nützlich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!