C++ 为什么成员函数是这样处理的?
当取成员函数的地址而不是全局函数的地址时,为什么会有一个符号AND?也就是说,为什么会这样C++ 为什么成员函数是这样处理的?,c++,c++11,C++,C++11,当取成员函数的地址而不是全局函数的地址时,为什么会有一个符号AND?也就是说,为什么会这样 std::bind(&MyClass::MemberFunction, ...); 当全球职能需要 std::bind(GlobalFunction, ...); ?C允许从全局函数名隐式转换为指向这些函数的指针C++出于向后兼容的原因保留了这些隐式转换C没有成员函数,因此在成员函数的情况下不需要提供隐式转换 C++不允许在与C兼容的情况下进行隐式转换,因为人们认为这种转换容易混淆,可能模棱两
std::bind(&MyClass::MemberFunction, ...);
当全球职能需要
std::bind(GlobalFunction, ...);
?
C
允许从全局函数名隐式转换为指向这些函数的指针<代码>C++出于向后兼容的原因保留了这些隐式转换C
没有成员函数,因此在成员函数的情况下不需要提供隐式转换
C++
不允许在与C
兼容的情况下进行隐式转换,因为人们认为这种转换容易混淆,可能模棱两可,但好处很少 &
在全局函数上工作。但是没有全局函数也可以工作。您会问为什么成员函数引用不存在-答案如下: