Tôi đang gặp sự cố khi hiểu rõ chính xác số id-expression
là gì. Tôi sẽ bắt đầu bằng cách làm theo những gì tôi tìm thấy trong bản dự thảo mới nhất của chuẩn C++ bắt đầu với:Biểu thức id chính xác là gì?
Mạo hiểm với định nghĩa của một identifier
:
Một định danh là một chuỗi các chữ cái và chữ số tùy ý.
Vì vậy, nó có vẻ như bất kỳ chuỗi dài tùy ý của các chữ cái và chữ số có thể là một id-expression
, nhưng chờ đợi:
Vì vậy, các identifier
phải được khai báo đầu tiên để cho nó trở thành một id-expression
? Cũng cho phép đầu trên quy định tại khoản 7:
Tiếp tục ...
Tiếp tục một lần nữa ...
Chúng tôi đến đây:
Tôi hiểu điều này có nghĩa là số id-expression
yêu cầu một số identifier
để khai báo yêu cầu số id-expression
. Điều này có vẻ giống như một định nghĩa vòng tròn. Ai đó có thể cho tôi biết nơi tôi đã đi sai?
Dù sao, cách giải thích của tôi là số nhận dạng phải được khai báo đầu tiên để nó được coi là id-expression
, nhưng đó không thực sự chỉ là một name
? Tiêu chuẩn quy định rằng:
Mọi tên biểu thị thực thể được giới thiệu bởi một tuyên bố.
Vậy tại sao không chỉ gọi nó là name-expression
?
Có những tên không phải là số nhận dạng. –