
C++11
文章平均质量分 63
陈岂几真幸运
冲冲冲
展开
-
packaged_task和future机制
std::packaged_task是C++11引入的组件,用于包装可调用对象(函数、函数对象等)为一个任务。可以结合std::future从而在任务执行完成后获取其结果。用于关联一个异步任务,并在任务执行完成后获取其结果。它允许你查询任务的状态、等待任务完成,并获取最终的返回值或异常信息。原创 2023-06-19 00:10:54 · 132 阅读 · 0 评论 -
C++11 make_shared讲解
如果在这个过程中, 开辟我们想要的内存(new int(10))成功了,但是开辟引用计数内存失败了,这时就对导致我们无法通过引用计数来判断何时需要析构函数。原创 2023-06-13 10:09:36 · 920 阅读 · 0 评论 -
C++11thread库
C++ 中的<thread>库提供了多线程编程的支持。它定义了类,用于创建和管理线程。以下是<thread>转载 2023-06-12 14:45:20 · 187 阅读 · 0 评论 -
C++11智能指针
由最后一个智能指针的析构函数来处理资源的释放问题。要对资源的引用个数进行计数,那么大家知道,对于整数的++或者- -操作,它并不是线程安全的操作,因此shared_ptr和weak_ptr底层的引用计数已经通过CAS操作,保证了引用计数加减的原子特性,因此shared_ptr和weak_ptr本身就是线程安全的带引用计数的智能指针。原创 2023-06-12 14:28:53 · 83 阅读 · 0 评论 -
C++11 lambda表达式
引入lambda表达式,可以说是。原创 2023-06-11 22:17:31 · 84 阅读 · 0 评论 -
bind绑定器
【代码】bind绑定器。原创 2023-06-09 22:11:15 · 109 阅读 · 0 评论 -
function函数对象机制
为什么需要function?绑定器、函数对象、lambda表达式 他们只能使用在一条语句中。如果我们想在多条语句中应用这些函数对象 需要function将这些函数对象的类型留下来。1.需要用函数类型来实例化function。2.只给出返回值和参数列表。原创 2023-06-09 20:58:27 · 76 阅读 · 0 评论 -
C++11 emplace方法
这些操作分别对应push_front, insert和push_back,能够让我们把元素放置在容器头部,一个指定位置之前或容器尾部。当调用push或insert成员函数时,我们将元素类型的对象传递给它们,这些对象被。,可以方便地在容器中进行构造元素的操作,用于在容器中直接构造对象,从而减。c.emplace_front(t) 在c的头部创建一个值为t的元素。c.emplace_back(t)在c的尾部创建一个值为t的元素。创建一个值为t的元素,返回指定新添加元素的迭代器。,提高代码效率和性能。原创 2023-05-18 18:00:24 · 874 阅读 · 0 评论 -
C++ 左值右值引用
在汇编指令上看,定义一个左值引用在汇编指令上和定义一个指针是没有任何区别的,定义一个引用变量int& ref = value, 是必须初始化的,因为指令上需要把右边value的地址放到左边的ref的内存里(相当于定义了一个指针的内存),当给引用变量ref赋值时,指令从ref里面取出value的地址,并更改内容。指的是把临时量的资源移动给了当前对象,临时对象就不持有资源,为nullptr了,实际上没有进行任何的数据移动,没发生任何的内存开辟和数据拷贝。函数返回一个左值引用,允许我们直接修改对象的成员变量。原创 2023-05-30 17:18:51 · 349 阅读 · 0 评论 -
std::condition_variable
condition_variable原创 2023-02-26 14:19:50 · 909 阅读 · 0 评论 -
atomic
atomic原创 2023-02-25 22:45:21 · 313 阅读 · 0 评论