thể trùng lặp:
Global const string& smells bad to me, is it truly safe?bất cứ ai có thể giải thích này sử dụng C++ tham khảo
Tôi đã tình cờ đoạn mã sau và tự hỏi theo căn cứ nào
std::string const & thestring("XYZ");
Đó là thực tế là nó đang xây dựng đối tượng và đề cập đến nó bằng một tham chiếu. Tôi đã từng thấy
std::string const theString("XYZ");
và tự hỏi sự khác biệt là gì. Tôi khá hạnh phúc vì đối tượng sẽ không bị phá hủy sớm khi vật thể sống trên ngăn xếp cùng với tham chiếu.
Không bao giờ thấy trường hợp 1, có vẻ như đó là vô nghĩa. Xây dựng một tạm thời và liên kết một tham chiếu const với nó (do đó kéo dài tuổi thọ đến phạm vi tham chiếu). Trường hợp thứ hai là 1 độ ít hơn, và sẽ cho tất cả các mục đích ý định hành động như trường hợp một. Nhưng có lẽ tôi đang thiếu một cái gì đó không rõ ràng. – Ylisar
Điều này có vẻ liên quan: http://stackoverflow.com/a/1028511/390913 – perreal
Sự khác biệt duy nhất tôi có thể nghĩ là không tham chiếu một được khai báo là const, và do đó const đúc đi constness là UB – PlasmaHH