Bản sao có thể xảy ra:
C++: ptr->hello(); /* VERSUS */ (*ptr).hello();
Why does C have a distinction between -> and . ?Lý do cơ bản cho sự khác biệt giữa -> và. trong c/C++?
Tôi biết sự khác biệt giữa các nhà điều hành viên và các thành viên bằng cách điều hành con trỏ (->) (.).
Tại sao các nhà thiết kế C tạo một toán tử khác cho quyền truy cập này? Tại sao trình biên dịch không thể tự tìm ra nó?
Nếu bạn luôn sử dụng a. không có trường hợp nào tồn tại, nơi nó là mơ hồ cho dù bạn có nghĩa là một thành viên hoặc một thành viên bằng con trỏ?
chỉnh sửa: Tôi không tìm cú pháp "(* a) .b". Tôi hỏi tại sao các nhà thiết kế không cho phép bạn sử dụng "a.b" thay vì "a-> b"?
Ký hiệu ban đầu xuất phát từ C. –
điểm tốt: Tôi đã thay đổi câu hỏi để sử dụng C thay vì C++. –
có thể trùng lặp của [C++: ptr-> hello();/* VERSUS */(* ptr) .hello();] (http://stackoverflow.com/questions/447543/c-ptr-hello-versus-ptr-hello) và [sự khác biệt giữa (.) dot toán tử và (->) mũi tên trong c + +] (http://stackoverflow.com/questions/1238613/what-is-the-difference-between-dot-operator-and-arrow-in-c) –