Tôi đồng ý câu trả lời trong When to use references vs. pointers.
Nhưng, tôi tự hỏi tại sao C++ định nghĩa atomic_load nhưC++ tại sao loại tham số của atomic_load là con trỏ thay vì tham chiếu?
template<class T>
T atomic_load(const std::atomic<T> *obj) noexcept;
^
thay vì
template<class T>
T atomic_load(const std::atomic<T> &obj) noexcept;
^
bất cứ ai có thể giúp tôi?
Nhiều khả năng cho đồng nhất với [tương đương Giao diện C] (http://en.cppreference.com/w/c/atomic/atomic_load). – WhiZTiM
@WhiZTiM Nhưng, std :: nguyên tử là một mẫu lớp, tại sao nó cần phải phù hợp với C? – Caesar
Nó không phải là hoàn toàn cần thiết, nó là một tiện lợi cho lập trình viên, những người không phải nhớ thêm một sự khác biệt vô nghĩa. Bạn chỉ cần nhớ rằng 'atomic_load' lấy một con trỏ, bất kể loại cơ sở chính xác bạn đang truyền. –