30/09/2018, 19:11

Cho em hỏi về kiểu con trỏ

Em muốn hỏi sự khác nhau giữa * và *& em có ví dụ sau thì giá trị của p và p1 là giống hệt nhau thế tại sao vẫn là kiểu địa chỉ nhưng int *&p1 có thể viết =p nhưng không thể viết int *&p1 = &a được ạ ai giải thích cho e với
int a = 5;
int *p = &a;
int *&p1 = p;
cout << p << endl;
cout << p1 << endl;
cout << *p << endl;
cout << *p1 << endl;

Le Duc Tanh viết 21:16 ngày 30/09/2018

Tra google Biến tham chiếu nhé !

viết 21:19 ngày 30/09/2018

vì biến tham chiếu phải tồn tại trong runtime (lúc chạy chương trình). &a tức là lấy địa chỉ của a, chỉ tồn tại trong compile time, hay &a chỉ tồn tại tạm thời lúc biên dịch code thôi, biên dịch xong thì &a cũng ko còn cần nữa.

Bài liên quan
0