Tại sao trong C++ trình bày hai chức năng với các tên khác nhau ref
và cref
? Tại sao không chỉ có chức năng ref
bị quá tải? Có một số lý do ngữ nghĩa quan trọng?Chức năng ref và cref STL
Trả lời
Vì đôi khi bạn muốn quấn một tham chiếu const
vào đối tượng không phải const
. Trong trường hợp này, std::cref
cho phép bạn viết
std::cref(x)
thay vì
std::ref(static_cast<const T&>(x))
(nơi T
của khóa học là loại x
).
Vì vậy, tôi có thể sử dụng chức năng 'ref' độc quyền trong mã" chung ", phải không? Là 'ref' cho' const' đối số một anyways quá tải khả thi? – Orient
@Orient: Tôi nghĩ rằng thường 'std :: ref' /' std :: cref' được sử dụng nhiều hơn ở phía bên kia của khấu trừ đối số, cụ thể là trên trang web cuộc gọi. Hàm của bạn nên chuyên về một 'std :: reference_wrapper
- 1. ref cho các biến không tham số trong chức năng
- 2. STD :: ref hữu ích cho chức năng này là gì?
- 3. Sắp xếp danh sách sử dụng STL loại chức năng
- 4. std :: chức năng ref và swap dường như không hoạt động tốt với nhau
- 5. nhầm lẫn giữa std :: [tr1 ::] ref và boost :: ref
- 6. Chức năng Excel VBA tạo #REF tùy thuộc vào tên hàm?
- 7. Truyền chức năng làm chức năng nhập và trả về
- 8. Visual Studio 2010 và std :: chức năng
- 9. C++ mảng năng động mà không STL
- 10. Các chức năng chèn vùng chứa của STL trở về void theo C++ 11?
- 11. Chức năng mẫu C++ cho mảng, vectơ, được xây dựng trong các loại, STL
- 12. một số thùng chứa trong stl không có chức năng tìm kiếm
- 13. Bạn có nên chuyển các functors sang STL thay vì các chức năng không?
- 14. JOptionPane và chức năng cuộn
- 15. PHPUnit và chết chức năng
- 16. chức năng mở và fopen
- 17. chức năng read.table và stdin
- 18. data.tables và chức năng quét
- 19. make_shared và chức năng emplace
- 20. Cách nhanh chóng điền vào vectơ, bản đồ và thiết lập, sử dụng các chức năng stl
- 21. Templates và STL
- 22. OpenMP và STL vector
- 23. C++ UNICODE và STL
- 24. Template chức năng là khác nhau giữa vs2005 và VS2010
- 25. Chức năng tách chuỗi
- 26. Memoizing một chức năng effectful
- 27. OpenMP và STL-style cho
- 28. STL và con trỏ const
- 29. Sự khác biệt giữa 'const ref' và 'in'?
- 30. C# của ref và ra trong Java
Nó tương tự như 'begin' /' cbegin'. – Jarod42