Em thử viết 1 chương trình như sau:
#include <iostream>
using namespace std;
struct T
{
int k;
};
int main()
{
T *a = new T;
cin >> *a.k; // Sai
//cin >> (*a).k; // Đúng
delete a;
return 0;
}
Em chạy dòng cin >> *a.k;
thì bị lỗi, theo em hiểu thì .
có độ ưu tiên cao hơn *
.
Nhưng đọc ở https://cpp.daynhauhoc.com/1/10-do-uu-tien-cua-cac-toan-tu/
thì em thấy (Indirection *) ở group 3 có độ ưu tiên cao hơn (Pointer to member .) ở group 4
M.n giải thích cho em với ạ? Tks
Em xin lỗi do không đọc kỹ ạ.
Hoá ra cái em dùng ở trên là (member access .) chứ không phải là (Pointer to member .*)
Nên link trên hoàn toàn đúng ạ.