Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么成员函数是这样处理的?_C++_C++11 - Fatal编程技术网

C++ 为什么成员函数是这样处理的?

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

当取成员函数的地址而不是全局函数的地址时,为什么会有一个符号AND?也就是说,为什么会这样

std::bind(&MyClass::MemberFunction, ...);
当全球职能需要

std::bind(GlobalFunction, ...);

C
允许从全局函数名隐式转换为指向这些函数的指针<代码>C++出于向后兼容的原因保留了这些隐式转换
C
没有成员函数,因此在成员函数的情况下不需要提供隐式转换


C++
不允许在与
C
兼容的情况下进行隐式转换,因为人们认为这种转换容易混淆,可能模棱两可,但好处很少

&
在全局函数上工作。但是没有全局函数也可以工作。您会问为什么成员函数引用不存在-答案如下: