Loại là loại chức năng. Bạn không có thể quá quen thuộc với nó, bởi vì cho đến bây giờ nó đã chỉ được sử dụng trong các loại con trỏ:
typedef int (ft)(void); // Huh? (raw function type)
typedef ft *fp; // ??? (pointer to function)
typedef int (*fp_oldstyle)(void); // Ahh... (same as fp)
Chức năng tự làm có các loại, nhưng kể từ khi bạn không thể khai báo các biến kiểu đó hoặc tham chiếu đến nó, chỉ điều bạn thường sử dụng là con trỏ, được khai báo trong cú pháp quen thuộc trên dòng cuối cùng. Đối với mọi chức năng int foo(void);
, cả hai foo
và &foo
được hiểu là con trỏ, do đó, loại chức năng "thô" ft
là không cần thiết.
Tuy nhiên, với ma thuật mẫu mới xung quanh std::function
, std::bind
và lambdas, bây giờ điều phổ biến hơn để xem các loại chức năng trần truồng trong thông số mẫu.
Nguồn
2011-10-27 21:27:43
Ok. Cảm ơn bạn vì sự giúp đỡ. –