Given:typedef cơ bản toán hạng cú pháp
typedef type-declaration synonym;
tôi có thể xem như thế nào:
typedef long unsigned int size_t;
tuyên bố size_t
như một từ đồng nghĩa với long unsigned int
, tuy nhiên tôi (biết nó nhưng) không thể nhìn thấy chính xác cách thực hiện:
typedef int (*F)(size_t, size_t);
tuyên bố F
như một từ đồng nghĩa với pointer to function (size_t, size_t) returning int
hai toán hạng typedef của (type-declaration, synonym)
trong ví dụ đầu tiên là long unsigned int
và size_t
.
Hai đối số để nhập typedef trong khai báo F
hoặc có thể là phiên bản quá tải của typedef?
Nếu có sự khác biệt có liên quan giữa C và C++, vui lòng giải thích nếu không, tôi chủ yếu quan tâm đến C++ nếu điều đó hữu ích.
Chỉ cần làm rõ nguồn gốc của cú pháp được ban đầu là từ đây: http://msdn.microsoft.com/en-us/library /05w82thz%28v=VS.100%29.aspx –
đừng tin mọi thứ mà Microsoft nói với bạn ;-) –
Khai báo con trỏ hàm là một số cú pháp kỳ lạ nhất trong C. Điều duy nhất tôi thấy là weirder là con trỏ- cú pháp thành viên trong C++ ... Và đó là vì nó giống cú pháp con trỏ hàm C. –