tôi đang học SFINAE (Thay thất bại không phải là) Tôi tìm thấy một ví dụ về nó trong một trang web,là gì "Class :: *"
template<typename T>
class is_class {
typedef char yes[1];
typedef char no [2];
template<typename C> static yes& test(int C::*); // What is C::*?
template<typename C> static no& test(...);
public:
static bool const value = sizeof(test<T>(0)) == sizeof(yes);
};
Tôi tìm thấy một chữ ký mới, int C::*
ở dòng 5 Lúc đầu, tôi nghĩ rằng đó là operator*
nhưng tôi cho rằng điều đó không đúng. Hãy cho tôi biết nó là gì.
câu hỏi tương tự: http://stackoverflow.com/questions/670734/c-pointer-to-class-data-member – Havenard
Tôi xin lỗi hỏi một câu hỏi tương tự. Tôi đã cố gắng tìm kiếm nó bằng từ khóa ":: *" nhưng tôi không thể tìm thấy nó. Và cảm ơn bạn đã cho tôi biết liên kết đến câu hỏi tương tự. – mora