- 博客(4)
- 收藏
- 关注
原创 模板与虚函数的选择
在浏览论坛的时候看到一句非常有道理的解释(先记录下来,以后有想法在此博客上在添加):同一个项目内部,尽可能使用模板,带来的是性能和空间的改善。换句话说,模板通常只用于项目内部,跨项目不要传递模板,不可靠而且危险,即使看起来是同一个模板,在不同项目中的内存布局也可能是不同的。但如果某个接口需要公开,或者允许外部项目实现,模板无能为力,只能使用虚函数。比如COM,公开的接口都是虚函数,但实现接口的...
2020-01-01 23:36:39 445
原创 非线程安全类的异步多线程安全模型
在项目中经常会遇到一些需要异步处理的(耗时长)并且线程不安全的对象在多线程模型中使用,封装了一个实用的线程模板,用于直接处理这类的事务。将该线程不安全的对象直接绑定到单个线程上,然后将一个外部处理函数压入队列,由该线程取出对象和处理函数调用。绑定的对象作为第一个参数传入处理函数中,其余入参依次传入函数的实参。代码如下, 版本:c++14, 编译器:gcc 5.4#include <...
2019-12-25 21:25:20 192
转载 模板特化避免重复定义
将模板特化函数声明为inline即可另外需要注意类成员函数模板特化不能在类内部定义,需要在类所在的命名空间内定义(c++14,其他版本暂时没试过)
2019-12-04 19:12:36 408
原创 使用std::bind生成以std::future为参数的仿函数时编译报错
代码如下所示,使用async生产一个future,定义了3个模板函数,func0接收一个future对象生产一个仿函数并执行,func1接收一个future直接调用函数执行,func2和func0处理方式一致,但是接收一个string对象,其中func1,func2可正常编译并执行,func3编译模板报错,报错信息如下图,请各位大大们能够解答一二。#include <future&g...
2019-05-31 13:36:05 409 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人