30/09/2018, 16:28
Con trỏ *this có ý nghĩa gì?
Mình có câu hỏi về cái *this. Cái *this này mình dùng để làm gì và khi nào vậy mọi người? Cám ơn mọi người trước.
Bài liên quan
Mình có câu hỏi về cái *this. Cái *this này mình dùng để làm gì và khi nào vậy mọi người? Cám ơn mọi người trước.
Nói vậy cho dễ hiểu nhé bạn, trong 1 hàm con trỏ
this
giữ địa chỉ của chính đối tượng đang gọi tới nó.Ví dụ trong hàm A(). mình có con trỏ
this
, thì nếu mình dùng B.A() thìthis
chính là đối tượng Bcám ơn anh nhé…
Nếu nói về con trỏ
this
thì @tuancoi2506 nói hợp lý rồi, @butobino15 có thể xem thêm bài con trỏ this ở đâyTuy nhiên
*this
lại phức tạp hơn một tí. Cũng giống như các con trỏ khác,*this
lấy giá trị của vùng nhớ mà nó đang trỏ tới.Ta đã biết
this
trỏ đến đối tượng của nó, nếu @butobino15 thắc mắc vềthis
thì nên xem video trên, thế nên*this
lấy giá trị của chính nó.Vậy
*this
dùng để làm gì? Việc return*this
trở về bên ngoài class tương đương với việc trả về một bản copy của class đó.Nếu @butobino15 thắc mắc nhiều hơn, thì đọc qua topic này
*this vs this in C++
Nếu @butobino15 đọc qua nhưng không hiểu, vì vấn đề tiếng Anh hay các vấn đề khác. Cứ reply ở đây, Đạt sẽ giải thích rõ hơn.
dereferenced pointer là gì anh?
Ví dụ đơn giản hơn giải thích:
Output:
cái này output a=4 hay a=3 hả a
@htwap bây giờ a bằng 4, em có thể thử với chương trình anh viết hoàn thiện ở dưới
Output
à à, e hiểu rồi. cái *pa chính là cái a, còn cái pa chính là địa chỉ của a.
Và đó cũng là cái mà @Rok_Hoang hỏi ở trên
e nghĩ là a gõ thừa dấu
*
rồi ạdereferenced pointer là gì vậy a?
Tức là dấu
*
đặt phía trước pointer đó. Chữ này tách ra làm 2 phầnde
vàreferenced
, có thể hiểu là truy ngược trở lại cái giá trị mà con trỏ này đang trỏ tớivâng, e hiểu rồi. thế có thể dịch là “ngược trở lại tham chiếu của con trỏ” ạ?
Có thể hiểu như vậy, mọi thay đổi trên
*pa
sẽ áp dụng ngay lêna
vâng, lại phải thêm 1 comment.
à, cảm ơn anh. Em sử dụng cái này nhiều mà không biết tên của phương thức này.
link http://portal.daynhauhoc.com/series/c-bai-73-this-pointer/41 ko vô được anh Đạt ơi
cảm ơn anh