![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
架构
懵圈丰
这个作者很懒,什么都没留下…
展开
-
使用函数包装器的 通用泛化的命令类
//#ifndef COMMCOMMAND_H#define COMMCOMMAND_H#include#includetemplate class CommCommand{private: std::function m_f;public: //接受可调用对象的函数包装器 template::value>::type> void Wrap(F &&f, Args &原创 2015-12-10 16:57:31 · 964 阅读 · 0 评论 -
aop之应用 时间记录器及日志
struct TimeElapsedAspect{ void Before(int i) { m_lastTime = m_t.elapsed(); } void After(int i) { std::cout << "time elapsed: " << m_t.elapsed() - m_lastTime << "ms" <<std::endl; }private:原创 2015-12-11 11:19:35 · 765 阅读 · 0 评论 -
c++ 面向切面变成 aop 通用模板
#ifndef AOP_h#define AOP_h#define HAS_MEMBER(member)\templatestruct has_member_##member\{\private:\ template static auto Check(int) -> decltype(std::declval().member(std::declval()...), std::tr原创 2015-12-11 11:17:12 · 2022 阅读 · 0 评论 -
软件架构所要考虑的因素
翻译 2015-12-02 11:31:44 · 685 阅读 · 0 评论 -
c++ weak_ptr
weak_ptr是用来监视shared_ptr的,不会使引用计数增加。 std::shared_ptr t(new int(10)); std::weak_ptrwk(t); if(wk.expired()) std::cout<<"t is expired"<<std::endl; else std::cout原创 2015-12-08 13:40:26 · 485 阅读 · 0 评论