![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++11标准库
文章平均质量分 66
小米的修行之路
是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。
展开
-
enable_shared_from_this 详解
问题和答案来自于:stackOverFlow:描述:I ran acrossenable_shared_from_thiswhile reading the Boost.Asio examples and after reading the documentation I am still lost for how this should correctly be used. Can someone please give me an example and explanation of when ..原创 2021-01-29 14:21:55 · 361 阅读 · 0 评论 -
std::Move 右值引用
内容来自于知乎,非常有助于我们理解std::move语义。在网上看了一篇介绍C++右值引用和move的文章,里面的一段代码让我不解:std::cout<<"test std::move:\n";std::string str5 = "asdf";std::string &lr5 = str5;std::string &&rr5 = std::move(str5);rr5[0] = 'b';lr5[1] = 'z';std::cout<<r原创 2021-01-29 13:17:43 · 605 阅读 · 0 评论 -
string字符串操作封装
#pragma once#include <iostream>#include <string>#include <vector>#ifdef _UNICODE#define string_t std::wstring#else#define string_t std::string#endif#define CODE_CONVERT_...原创 2020-03-22 14:40:56 · 528 阅读 · 0 评论 -
Enterprise VS2017试用期已过处理
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QFVisual Studio 2017(VS2017) 专业版Professional 激活码key:KBJFW-NXHK6-W4WJM-CRMQB-G3CDHOffice激活序列号:NKGG6-WBPCC-HXWMY-6DQGJ-CPQVG...转载 2019-08-12 13:44:46 · 1683 阅读 · 0 评论 -
std::call_once()函数详解
在多线程的环境下,有些时候我们不需要某给函数被调用多次或者某些变量被初始化多次,它们仅仅只需要被调用一次或者初始化一次即可。很多时候我们为了初始化某些数据会写出如下代码,这些代码在单线程中是没有任何问题的,但是在多线程中就会出现不可预知的问题。boolinitialized=false;//globalflagif(!initialized){//...转载 2019-07-22 16:48:30 · 16783 阅读 · 10 评论 -
STL::atomic原子操作
原文地址:https://www.cnblogs.com/haippy/p/3252056.htmlC++11 并发指南已经写了 5 章,前五章重点介绍了多线程编程方面的内容,但大部分内容只涉及多线程、互斥量、条件变量和异步编程相关的 API,C++11 程序员完全可以不必知道这些 API 在底层是如何实现的,只需要清楚 C++11 多线程和异步编程相关 API 的语义,然后熟加练习即可应付大...转载 2019-07-26 11:02:09 · 2944 阅读 · 0 评论 -
std::unique_lock 介绍
lock_guard 最大的缺点是简单,没有给程序员提供足够的灵活度,因此,C++11 标准中定义了另外一个与 Mutex RAII 相关类 unique_lock,该类与 lock_guard 类相似,也很方便线程对互斥量上锁,但它提供了更好的上锁和解锁控制。顾名思义,unique_lock 对象以独占所有权的方式( unique owership)管理 mutex 对象的上锁和解锁操作,...转载 2019-07-22 14:11:30 · 11759 阅读 · 0 评论 -
互斥量std::mutex、锁std::lock_guard、std::Lock
C++11中提供了std::mutex互斥量,共包含四种类型: std::mutex:最基本的mutex类。 std::recursive_mutex:递归mutex类,能多次锁定而不死锁。 std::time_mutex:定时mutex类,可以锁定一定的时间。 std::recursive_timed_mutex:定时递归mutex类。另外,还提供了两种锁类...转载 2019-07-22 10:44:49 · 6781 阅读 · 2 评论 -
STL-chrono时间库
https://blog.csdn.net/sanoseiichirou/article/details/50095569转载 2019-07-25 14:50:57 · 622 阅读 · 0 评论 -
std::shared_future
在之前我们了解了class std::future,但是通过class std::future获得的结果只能get()一次,第二次调用就会产生不可预期的结果,通常会抛出一个std::future_error.但是当多个其他线程也想处理这份结果,也就是想多次get(),基于这个目的C++ standard library提供了class std::shared_future,于是我们就可以多次调...转载 2019-07-24 15:39:35 · 651 阅读 · 0 评论 -
std::async()详解
1、std::async函数原型:template<class Fn, class... Args>future<typename result_of<Fn(Args...)>::type> async(launch policy, Fn&& fn, Args&&...args);功能:第二个参数接收一个可调用对象(仿...原创 2019-07-24 11:03:50 · 19818 阅读 · 1 评论 -
智能指针-shared_ptr
1、https://blog.csdn.net/Xiejingfa/article/details/507500372、https://blog.csdn.net/River_Lethe/article/details/78734879转载 2019-07-19 15:15:58 · 197 阅读 · 0 评论 -
C++11并行编程-条件变量(condition_variable)
C++标准库对条件变量有两套实现:std::condition_variable和std::condition_variable_any,前者仅限于与std::mutex一起工作,后者可以和任何满足最低标准的互斥量一起工作,考虑到体积、性能、开销,一般std::condition_variable更通用,当对灵活性有要求时,可以考虑std::condition_variable_any。1、先...原创 2019-07-23 17:50:30 · 590 阅读 · 0 评论 -
C++中的Lambda表达式详解
一直都在提醒自己,我是搞C++的;但是当C++11出来这么长时间了,我却没有跟着队伍走,发现很对不起自己的身份,也还好,发现自己也有段时间没有写C++代码了。今天看到了C++中的Lambda表达式,虽然用过C#的,但是C++的,一直没有用,也不知道怎么用,就可怜的连Lambda语法都看不懂。好了,这里就对C++中的Lambda进行一个简单的总结,就算是对自己的一个交代,我是搞C++的,我是一个C+...转载 2019-07-18 16:13:14 · 717 阅读 · 0 评论