会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
ericshi1985
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2022年12月12日
<一>通过thread类编写C++多线程程序
摘要: C++语言层面多线程=>好处:跨平台 windows/linux thread/mutex/condition_variable lock_gurad/unique_lock atomic/原子类型,基于CAS操作的原子类型 线程安全的 睡眠sleep_for C++ thread => windo
阅读全文
posted @ 2022-12-12 14:40 Hello_Bugs
阅读(135)
评论(0)
推荐(0)
2022年12月8日
<八>lambda表达是应用实践
摘要: 既然lambda表达式只能使用在语句中,如果想跨语句使用之前定义好的lambda表达式,怎么办?用什么类型来表示lambda表达式? 用function类型来表示函数对象类型 bind1st/bind2nd bind 绑定器返回的都是 函数对象 lambda表达式=>函数对象 示例1 map<int
阅读全文
posted @ 2022-12-08 22:57 Hello_Bugs
阅读(67)
评论(0)
推荐(0)
<七>lambda表达式实现原理
摘要: C++11 函数对象的升级版=>lambda表达式 函数对象的缺点: 使用在泛型算法,参数传递, 比较性质/自定义操作 优先级队列, 需要专门定义出一个类 //lambda表达式语法: //[捕获外部变量](形参列表)->返回值{操作代码} auto func1=[]()->void{cout<<"
阅读全文
posted @ 2022-12-08 21:30 Hello_Bugs
阅读(403)
评论(0)
推荐(3)
<六>关于bind & 通过bing 和function实现线程池
摘要: bind1st和bind2nd只能用于二元函数对象 c++11 bind绑定器 返回的结果还是个函数对象 std::bind函数定义在头文件functional中,是一个函数模板,它就像一个函数适配器,接受一个可调用对象(callable object),生成一个新的可调用对象来“适应”原对象的参数
阅读全文
posted @ 2022-12-08 16:01 Hello_Bugs
阅读(118)
评论(0)
推荐(0)
<五>function的实现原理
摘要: 类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。std::function对象是对C++中现有的可调用实体的一种类型安全的包
阅读全文
posted @ 2022-12-08 10:20 Hello_Bugs
阅读(490)
评论(0)
推荐(0)
2022年12月7日
<三>function函数对象类型的应用示例
摘要: std::function是一组函数对象包装类的模板,实现了一个泛型的回调机制。function与函数指针比较相似,优点在于它允许用户在目标的实现上拥有更大的弹性,即目标既可以是普通函数,也可以是函数对象和类的成员函数,而且可以给函数添加状态。 声明一个function时,需要给出所包装的函数对象的
阅读全文
posted @ 2022-12-07 14:47 Hello_Bugs
阅读(172)
评论(0)
推荐(0)
2022年12月6日
<四>模板的完全特例化和非完全特例化
摘要: 模板作为C++泛型编程的基础十分重要,其使得一份代码能用于处理多种数据类型。而有些时候,我们会希望对一些特定的数据类型执行不同的代码,这时就需要使用模板特例化(template specialization)。 函数模板特例化 首先函数模板的特例化并不是函数重载,每一个特例化实际上是提供了另一个模板
阅读全文
posted @ 2022-12-06 17:26 Hello_Bugs
阅读(241)
评论(0)
推荐(0)
<二>bind1st和bind2nd的底层实现原理
摘要: 自己实现绑定器,代码如下 #include <iostream> #include <vector> #include <string> #include <algorithm> #include <functional> #include <ctime> using namespace std;
阅读全文
posted @ 2022-12-06 12:31 Hello_Bugs
阅读(70)
评论(0)
推荐(0)
<一>bind1st和bind2nd什么时候会用到
摘要: bind用于绑定可调用 (Callable) 对象(函数对象、指向函数指针、到函数引用、指向成员函数指针或指向数据成员指针)和其参数。返回值为绑定成功后的函数对象 C++11中引入的function机制,其中绑定器主要有三种:bind1st、bind2nd、bind(C++11) 函数对象 尽管函数
阅读全文
posted @ 2022-12-06 11:24 Hello_Bugs
阅读(194)
评论(0)
推荐(0)
2022年12月2日
<五>智能指针之__强弱指针使用场景之 多线程访问共享对象问题
摘要: 代码1 #include <iostream> #include <thread> using namespace std; class A { public: A() { cout << "A()" << endl; } ~A() { cout << "~A()" << endl; } void
阅读全文
posted @ 2022-12-02 16:40 Hello_Bugs
阅读(215)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告