Tôi hiện đang làm mới các kỹ năng C++ của mình và tự hỏi liệu có thể gán điều gì đó cho *this
hay không. Tôi biết chỉ định cho this
bị cấm, nhưng không thể tìm thấy thông tin tương tự cho trường hợp của tôi.Có được phép gán cho một tham chiếu này (* này) không?
Một ví dụ:
class Foo {
int x;
public:
Foo(int x) : x(x) {}
Foo incr() { return Foo(x+1); }
void incr_() { (*this) = incr(); }
};
Edit: chỉnh incr()
's kiểu trả về từ void
để Foo
.
Điều này sẽ phù hợp hơn làm nhận xét hơn là câu trả lời, IMO. –
@Etienne: Hãy hoàn thành câu trả lời của tôi trước. ':)' –
Bạn hoàn toàn đúng, nhưng tôi đơn giản mắc lỗi ở đó. Tôi có nghĩa là hàm là 'Foo incr()'. – Kolja