当前位置: 首页 > news >正文

佛山最好的网站建设公司在青岛建网站

佛山最好的网站建设公司,在青岛建网站,做长直播的房地产网站,网站建设 报价单可变参数好像很厉害的样子&#xff0c;会节省很多手写代码&#xff0c;让编译器自动帮我们生成代码 template<typename Fun, typename...Args> void invoke(Fun&& fun, Args&&...args) { fun(std::forward<Args>(args)...); } 任意函数包装器…

可变参数好像很厉害的样子,会节省很多手写代码,让编译器自动帮我们生成代码

template<typename Fun, typename...Args>
void invoke(Fun&& fun, Args&&...args)
{
    fun(std::forward<Args>(args)...);
}
任意函数包装器,搞个面向切面,代理,信手拈来

仿照C#的委托

template<typename Fun>
class my_delegate
{
public:
    my_delegate(){}
    ~my_delegate(){}

    template<typename...Args>
    void operator()(Args&&...args) {
        for (auto i : m_funs)
        {
            i(std::forward<Args>(args)...);
        }
    }
    void append(Fun&& cb)
    {
        m_funs.push_back(std::move(cb));
    }
    my_delegate& operator+(Fun cb)
    {
        m_funs.push_back(std::move(cb));
        return *this;
    }
    my_delegate& operator+=(Fun cb)
    {
        m_funs.push_back(std::move(cb));
        return *this;
    }
    my_delegate& operator-=(Fun cb)
    {
        auto it = find(m_funs.begin(), m_funs.end(), cb);
        if (it != m_funs.end())
            m_funs.erase(it);
        return *this;
    }
private:
    std::vector<Fun> m_funs;
};

typedef void (*Fun)(int sender, int params);

void button_click(int sender, int params)
{
    std::cout << "invoke " << __FUNCTION__ << std::endl;
    std::cout << "sender = " << sender << " params = " << params << std::endl;
}
void button_other_event_handler(int sender, int params)
{
    std::cout << "invoke " << __FUNCTION__ << std::endl;
    std::cout << "sender = " << sender << " params = " << params << std::endl;
}
int main() {

    my_delegate<Fun> delegate_obj;
    delegate_obj += button_click;
    delegate_obj += button_other_event_handler;
    delegate_obj(0, 0);
    delegate_obj -= button_click;
    delegate_obj(10, 20);
    return 0;
}

还停留在老掉牙的C++的认知上,看了一些C++11的新特性,会不会激发对C++的新兴趣?

http://www.yayakq.cn/news/812816/

相关文章:

  • h5企业网站只做中国建设局网站首页
  • 影响网站排名原因小学生做网站
  • 郑州房地产网站建设企业网站建设哪家效果好
  • 建设网站简单教程企业免费做网站
  • 做网站的企业是什么行业百度搜索广告价格
  • 可以做调查的网站江苏建筑业网
  • 网站自己建机房企业网站推广的一般策略
  • dw做网站一般是多大的尺寸中小型企业建设网站
  • 学做美食网站templatepath wordpress
  • 哪个网站可以查企业信息软件开发项目管理书籍
  • 英文响应式网站建设如何申请网站com域名
  • 简述网站建设优劣的评价标准大学二级学院网站建设必要性
  • 购物网站首页设计如何做网站结构及栏目策划
  • 东莞网页模板建站做网站的空间费用要多少
  • 内销机械做哪个网站好外贸网站推广平台排名前十名
  • 个人网站注销原因母婴类网站 网站建设方案书 备案
  • 采购网站建设抓取网站访客qq代码
  • wordpress培训模板下载西安专业网站排名优化
  • 知名企业门户网站建设服务公司做网站 流量怎么抓钱
  • 沈阳企业网站制作公司服务周到的上海网站建设公司
  • 石家庄服务大型建站公司注册地址在外地却在本地经营
  • 网站与新媒体建设测评方案上海做网站搜索一下马来西亚的
  • 网站建设借鉴一个网站的作用是什么
  • 网站建设方案如何讲解微商城app开发
  • 智慧团登录官方网站网页设计logo素材
  • 网站建设运营预算quark搜索引擎入口
  • 成都网站开发建设公司辽宁建设工程信息网怎么入库
  • 贵阳做网站好的公司有哪些王串场街网站建设公司
  • 榆林华科网站建设网站投稿源码
  • vps做网站空间wordpress支付宝支付宝