Ich stimme der Antwort in Wann Referenzen statt Zeiger zu verwenden.
Aber ich frage mich, warum C ++ atomic_load als
statt
%Vor%Kann mir jemand helfen?
Der Grund, warum wir diese freien Funktionsvorlagen überhaupt haben, ist die Quellkompatibilität mit C11:
%Vor%C hat keine Referenzen.
Wenn Sie das nicht brauchen, dann wird c.load()
oder die implizite Umwandlung in T
gut funktionieren. Vergiss einfach, dass die freie Funktion jemals existiert hat.
(Dies ist auch der Grund, warum die memory_order
Version der Vorlage für freie Funktionen atomic_load_explicit
heißt: _Generic
-powered Makros in C können verschiedene Argumenttypen verarbeiten, aber nicht variieren.)
Tags und Links c++ c++11 stl language-lawyer