首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有用于boost::bind的QPointer专门化

是否有用于boost::bind的QPointer专门化
EN

Stack Overflow用户
提问于 2009-06-11 13:31:02
回答 1查看 413关注 0票数 2

boost::bind处理boost::shared_ptr的方式与原始指针相同。

代码语言:javascript
复制
QObject * object(new QObject);
boost::shared_ptr<QObject> sharedObject(new QObject);

bind(&QObject::setObjectName, object, _1)( "name" );
bind(&QObject::setObjectName, sharedObject, _1)( "name" );

我希望有一个将QPointers作为原始指针处理的boost::bind

代码语言:javascript
复制
QPointer<QObject> guardedObject(new QObject);    
// i want to write it like this
bind(&QObject::setObjectName, guardedObject, _1)( "name" );
//now i have to do it like this
bind(&QObject::setObjectName, bind(&QPointer<QObject>::data, guardedObject), _1)( "name" );

有没有人专门为QPointer做过专门工作?

如果不知道,你知道从哪里开始,什么需要专门,所以我可以自己做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-11 14:26:47

添加get_pointer函数的重载应该可以做到这一点:

代码语言:javascript
复制
namespace boost {
    template<typename T> T * get_pointer(QPointer<T> const& p)
    {
        return p;
    }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/981087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档