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ỏ
thisgiữ đị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ìthischính là đối tượng Bcám ơn anh nhé…
Nếu nói về con trỏ
thisthì @tuancoi2506 nói hợp lý rồi, @butobino15 có thể xem thêm bài con trỏ this ở đâyTuy nhiên
*thislại phức tạp hơn một tí. Cũng giống như các con trỏ khác,*thislấy giá trị của vùng nhớ mà nó đang trỏ tới.Ta đã biết
thistrỏ đến đối tượng của nó, nếu @butobino15 thắc mắc vềthisthì nên xem video trên, thế nên*thislấy giá trị của chính nó.Vậy
*thisdùng để làm gì? Việc return*thistrở 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ầndevà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
*pasẽ áp dụng ngay lênavâ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