30/09/2018, 17:16

Thảo Luận Tham Chiếu và Con Trỏ

Hi cả nhà, Mình thấy có một câu hỏi rất hay về tham chiếu và con trỏ rất hay như này:

  • Về ý nghĩa tác dụng thì con trỏ và tham chiếu giống nhau, nhưng tại sao khi truyển vào hàm, nhiều khi chỉ truyền được dạng con trỏ vào, khi truyền dạng tham chiếu vào nhiều khi sẽ bị bug rất khó phát hiện ?
Minh Hoàng viết 19:31 ngày 30/09/2018

bạn có thể cho một số trường hợp cụ thể không?

Mai Anh Dũng viết 19:29 ngày 30/09/2018

Về ý nghĩa tác dụng thì con trỏ và tham chiếu giống nhau

Ý nghĩa khác nhau, con trỏ là biến lưu trữ địa chỉ. Còn tham chiếu là “alias” hay là tên gọi khác của biến. Ví dụ ta có bạn Huy, ở nhà tên Cu Tí. Thì Huy là biến, Cu Tí là tham chiếu. Hai cái tên này chỉ đến một và chỉ một người.

nhưng tại sao khi truyển vào hàm, nhiều khi chỉ truyền được dạng con trỏ vào

Truyền vào cái gì là phụ thuộc vào prototype của hàm đấy. Ví dụ hàm đấy nhận vào con trỏ thì chỉ truyền được con trỏ và tương đương cho tham chiếu. Ví dụ hàm sau

Chỉ nhận tham chiếu

void foo(int &Huy);

Chỉ nhận con trỏ

void foo(int *Huy);

nhiều khi chỉ truyền được dạng con trỏ vào, khi truyền dạng tham chiếu vào nhiều khi sẽ bị bug rất khó phát hiện ?

Cái này là bạn hiểu chưa rõ tham chiếu và con trỏ đấy, hai thứ này khác nhau. Mình xem kỹ cái prototype của hàm là biết sẽ phải truyền cái gì.

Bài liên quan
0