
STL
uestc_chenmo
这个作者很懒,什么都没留下…
展开
-
C++进阶系列:参数推导、内嵌类型、迭代器与traits
《STL源码剖析》学习记录:模板编程中经常写到:template<typename T>void func0(T a){ T aa; //do_sth(); return;}template<typename T>T func1(){ T tmp; //do_sth(); return tmp;}当模...原创 2018-05-24 21:26:43 · 471 阅读 · 0 评论 -
不务正业系列:看STL中迭代器与traits时突然想到decltype
看《STL源码剖析》中讲到迭代器与traits时做了下笔记。 详见:https://blog.youkuaiyun.com/uestc_chenmo/article/details/80444092 做笔记过程中突然想到,参数类型和返回值类型问题似乎很贴近auto和decltype。 编译器会在编译时通过变量的初始值或表达式自动推导变量的类型。具体网上资料很多此不赘述。 STL出现较早,其中的trai...原创 2018-05-24 22:03:08 · 652 阅读 · 3 评论 -
C++应用系列:利用装饰器模式进行运行时间测试
在平常做实验时,经常会遇到需要测试某个函数或个模块的运行时长,基本上每次都是在模块前后添加测时间的函数,然后输出查看,这样的工作相当繁琐,然而每次测试还是这样做的。今天上网看到AOP相关,发现可以用AOP添加测时间功能。 又看到了代理模式和装饰器模式,发现应用装饰器模式似乎可以简单实现。class VBase{public: virtual ~VBase(){} ...原创 2018-07-05 13:02:56 · 568 阅读 · 0 评论 -
C++应用系列:仿AOP与匿名对象实现运行时间测试
之前通过装饰器模式实现了打印运行时间,使用起来稍微方便一些了,但是每次测试时还需要创建一个新的时间测试类继承于基类,并在该类成员函数中调用实际需要测时间的函数。 在看AOP时发现还有另一种实现方式:template <class T>class BaseAspect{ T* m_ptr;protected: BaseAspect(T* ptr):m_ptr(...原创 2018-07-05 16:32:10 · 288 阅读 · 0 评论