• 3162阅读
  • 0回复

请帮忙看看,这段代码 编译 出错。 [复制链接]

上一主题 下一主题
离线wblf_www
 

只看楼主 正序阅读 楼主  发表于: 2014-07-08
#pragma once

#include <memory>

template<typename T, typename ...Args>
std::unique_ptr<T> make_unique(Args&& ...args)
{
    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
}

template<typename T>
struct qobject_deleter
{
    void operator() (T *qobject)
    {
        if (qobject && !qobject->parent())
            delete qobject;
    }
};

template<typename T>
using qobject_ptr = std::unique_ptr<T, qobject_deleter<T>>;

template<typename T, typename ...Args>
qobject_ptr<T> make_qobject(Args&& ...args)
{
    return qobject_ptr<T>(new T(std::forward<Args>(args)...));
}
快速回复
限100 字节
 
上一个 下一个