首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ 中 boost:bind 私有成员函数的有关问题

2013-11-23 
C++ 中 boost::bind 私有成员函数的问题一、C++ 可以使用 boost::bind 私有成员函数吗?二、如果可以,请问为

C++ 中 boost::bind 私有成员函数的问题
一、C++ 可以使用 boost::bind 私有成员函数吗?
二、如果可以,请问为什么? 尽量多说一些理由,有文档更加。 C++ boost bind
[解决办法]
1,当然不可以,理解原理你就懂了。
2,因为bind(class::func, &obj)最终相当于obj->func,你不可能有权利访问私有函数。
[解决办法]

引用:
1,当然不可以,理解原理你就懂了。
2,因为bind(class::func, &obj)最终相当于obj->func,你不可能有权利访问私有函数。


1.可以
bind成员函数时,只是传给bind一个成员函数指针而已。

class test
{
void func(){puts("func");}
public:
typedef void(test::*FuncType)();
FuncType get(){return &test::func;}
};

int main ()
{
test x;
bind( x.get() , &x )();
    return 0;
}

热点排行