浪人 浪人
3年前
c++11 实现单例模式
C11出来后,里面新增加了好多好用的功能下面的单例就是使用了C11中的标准库中的mutex和unique_prt进行内存管理的.此单例模式不用担心内存的释放问题pragmaonceinclude<memoryinclude<mutextemplate<classTclassSingleton{public:ty
cpp加油站 cpp加油站
3年前
c++11增加的变参数模板,今天总算整明白了
本篇文章介绍一下c11中增加的变参数模板template<typename...Args到底是咋回事,以及它的具体用法。说明一下,我用的是gcc7.1.0编译器,标准库源代码也是这个版本的。按照惯例,还是先看一下本文大纲,如下:在之前写vector和deque容器源码剖析的过程中,经常发现这样的代码,如下:cpptemplate<typename..
Wesley13 Wesley13
3年前
C++11多线程
C11开始支持多线程编程,之前多线程编程都需要系统的支持,在不同的系统下创建线程需要不同的API如pthread\_create(),Createthread(),beginthread()等,使用起来都比较复杂,C11提供了新头文件<thread、<mutex、<atomic、<future等用于支持多线程。使用C11开启一个线
Stella981 Stella981
3年前
C++11之右值引用(三):使用C++11编写string类以及“异常安全”的=运算符
前面两节,说明了右值引用和它的作用。下面通过一个string类的编写,来说明右值引用的使用。相对于C98,主要是多了移动构造函数和移动赋值运算符。先给出一个简要的声明:classString{public:String();String(constchars);
Stella981 Stella981
3年前
C++11新特性之final override标识符
final:  final修饰符可用于修饰类,放在类名后面,被final修饰符修饰的类不能被继承。示例代码://正确的示范include<iostreamclassA{public:voidshow_a_info(){s
Stella981 Stella981
3年前
C++11 thread mutex 我怎么感觉我被坑了。
二话不说,直接上代码了。include <threadinclude <iostreaminclude <mutexusing namespace std;volatile int shared_value  0;volatile int running_count  1
Wesley13 Wesley13
3年前
C++11 STL线程库实现一个简单的线程池
使用C11STL线程库实现一个线程池。处理机制是抢占式的,即所有线程从一个队列(std::queue)中获取任务执行(计算字符串简单HASH值),使用std::mutex和std::conditional\_variable实现队列访问并发协调。include<iostreaminclude<ioma
Stella981 Stella981
3年前
C++11 带来的新特性 (4)—— 匿名函数(Lambdas)
1语法Lambdas并不是新概念,在其它语言中已经烂大街了。直接进入主题,先看语法:captures(params)specifiersexceptionattrret{body}(1)captures(params)ret{body}
Wesley13 Wesley13
3年前
C++11新特性学习
1、什么是C11C11标准为C编程语言的第三个官方标准,正式名叫ISO/IEC14882:2011InformationtechnologyProgramminglanguagesC。在正式标准发布前,原名C0x。它将取代C标准第二版ISO/IEC14882:2003Progr
Stella981 Stella981
3年前
C++11 序列化库 cereal
cereal——C11序列化库介绍cereal是一个只包含头文件的C序列化库,cereal支持任何类型的数据并可以将其序列化为不同形式,例如:二进制、XML或者JSON。cereal的设计理念是快速、轻量级和容易扩展——cereal没有依赖第三库而且可以轻易的将其和其他