giả sử chúng ta có một test.cpp
như sau:Tại sao tôi không thể khai báo tham chiếu đến một đối tượng có thể thay đổi? ("Tài liệu tham khảo không thể được khai báo có thể thay đổi")
class A;
class B
{
private:
A mutable& _a;
};
Compilation:
$> gcc test.cpp
test.cpp:6:20: error: reference ‘_a’ cannot be declared ‘mutable’ [-fpermissive]
gcc của tôi:
$> gcc --version
gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Tại sao?
Bạn đang tìm kiếm một con trỏ? –
Thậm chí nếu bạn có thể làm điều này nó sẽ là vô dụng vì C++ không chứa bất kỳ cú pháp nào có thể thay đổi tham chiếu. Bạn thậm chí không thể lấy địa chỉ bộ nhớ của một tham chiếu. Nếu bạn cố gắng lấy địa chỉ của đối tượng mà tham chiếu trỏ đến. – bames53
Xin lỗi, tôi đã đặt câu hỏi sai. Đây không phải là một tham chiếu có thể thay đổi được, đây là một tham chiếu đến một đối tượng có thể thay đổi được! (Tôi đã thay đổi tiêu đề) – Martin