自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 HPThreadPool 线程池

定义 :CHPThreadPoolPtr m_pool;该类型为智能指针,所以不用管他释放的问题,初始化:m_pool(TRUE);// 内部会new 一个线程池,然后就可以使用,否则会报nullptr1: 启动函数BOOL Start (DWORD dwThreadCount = 0,DWORD dwMaxQueueSize = 0,EnRejec...

2020-03-02 18:03:12 786

原创 VS2015 HPSOCK 智能指针静态库-编译步骤

前言:从qq群里下载版本后,解压出来1:首先把以下目录复制出来放在工程目录hp-socket-5.7.1\Windows2:打开目录hp-socket-5.7.1\Windows\Project2.1 运行HPSocket-2015.sln2.2 由于我是C++,需要静态库,只编译HPSocketLiB的四种版本即可,分别是: Debug-win3...

2020-02-28 21:32:37 1046

原创 C++ 多线程编程,thread的间的交互 condition_variable

#include "stdafx.h"#include <typeinfo>#include <fstream>#include <iostream>#include <vector>#include <string>#include <memory>#include <deque>#include...

2020-02-23 16:38:01 685

原创 C++ 11 多线程 mutex (三) std::lock_guard,多种锁存在时确定加锁顺序的方式

struct BankAccount{ BankAccount(int n) : Balance(n) {} int Balance; std::mutex Mutex;}; void transferMoney(BankAccount &a, BankAccount &b, int money){ /******************************...

2020-02-22 15:37:08 548

原创 C++ 11 多线程 mutex (二) 利用标准库进行加锁

使用标准库std,进行加锁,同样能处理异常时,能正确离开的问题class Counter{public: Counter() : m_count(0),m_count2(0) {} ~Counter() {} void addcount() { std::lock_guard<std::mutex> lock(m_muter);// 这样子定义,则整个函数会加锁,...

2020-02-22 15:35:09 325

原创 C++ 11 多线程 mutex (一) 巧用类结构进行加锁,解锁

#include <atomic>#include <mutex>template<typename T> // 构造一个模板类,当在函数内部定义时, 构造时,进行加锁,析构时,进行解锁,class Lock { // 这个办法,可以解决在异常时,能准确地解锁,因为异常时,类也会进行析购,然后才轮到异常public: Lock(T&...

2020-02-22 13:36:28 1824

原创 c++ 原子操作

#include <atomic>class Counter{public: Counter() : m_count(0) {} ~Counter() {} void addcount() { m_count++; } int Getcount() const { return m_count; }private: std::atomic<int> ...

2020-02-22 11:17:56 195

转载 深入学习c++(lambda函数)(二)

参考:https://www.cnblogs.com/DswCnblog/p/5629165.html#include <algorithm> // 为了sort#include <iostream>#include <vector>[capture list] (params list) mutable exception-&gt...

2020-02-21 14:38:40 88

原创 深入学习c++(STL之容器,stdset 第二部分)_recv

class Person {private: int m_age; std::string m_name;public: Person(int a, std::string b) : m_age(a), m_name(std::move(b)) {} int age() const { return m_age; } const std::string& name() co...

2020-02-20 11:24:00 100

原创 深入学习c++(STL之容器,stdset

#include <set>/* set multiset 是c++ 98中引入的二叉树数据结构 namespace std{ template<typename T,typename Compare = less<T>,typename Allocator = allocator<T>> class set; ...

2020-02-20 09:55:23 135

原创 深入学习c++(STL之容器,stdforward_list)

#include <#include <forward_list>>// vector 是 c++ 98中引入的动态数组namespace std { template<typename T,typename Allocator = allocator<T>> class forward_list;}// forward_list...

2020-02-19 21:00:22 244

原创 深入学习c++(STL之容器,stdlist)

#include <list>// vector 是 c++ 98中引入的动态数组namespace std { template<typename T,typename Allocator = allocator<T>> class list;}// 特点,不支持随机访问元素,访问头部和尾部元素速度快// 任何位置插入删除元素都很快,常量...

2020-02-19 19:08:26 110

原创 深入学习c++(STL之容器,stddeque)

#include <deque>// vector 是 c++ 98中引入的动态数组namespace std { template<typename T,typename Allocator = allocator<T>> class deque;}// 特点随机访问元素,末端添加删除元素,效率高,前嵯和中间删除和添加元素效率低,...

2020-02-19 12:30:41 136

原创 54:深入学习c++(STL之容器,stdvector)

// vector 是 c++ 98中引入的动态数组 namespace std { template<typename T,typename Allocator = allocator<T>> class vector; } // 特点随机访问元素,末端添加删除元素,效率高,前嵯和中间删除和添加元素效率低, // 存在当前空器大小和容量的关系 ...

2020-02-19 10:11:29 277 1

原创 深入学习c++智能指针相关

------------- c ++ ===============================alignas 字节对齐,以最小单位的来对齐, struct alignas(1) s {};typeid(a).name() 查找变量类型constexpr 定义在 函数前面,如果能直接求出来的值,会直接求出来在编译期间constexpr int fact(int n) { r...

2020-02-19 09:20:00 157

原创 48:深入学习c++(类 使用智能指针需要注意的几个“坑”)

// 一个祼的指针不要用二个shared_ptr管理,unique_ptr;// 下面是错误例子,一个指针,二个管理,但他们引用各为1,如果其中一个构析了,会导至另一个正在使用的会异常auto pObj = new Object(1);ObjectPtr = Obj(pObj);ObjectPtr = Obj(pObj2);// 用weakptr打破循环引用,parent 和 chil...

2020-02-19 09:18:41 435

原创 49:深入学习c++(lambda函数, 简单介绍)

:类似lua的函数内部定义的局部函数template<typename Func>void printUseFunc(Func func, int a, int b, int c){ func(a, b, c);}void testlambda(){ int a = 1; int b = 2; int c = 3; auto lo...

2020-02-19 09:17:41 78

原创 53:深入学习c++(STL之容器,stdarray)

template<typename T,typename s_size>std::array<int ,10> a; // 定义数组大小为10 ,类型为int的数组std::array<int ,10> a = {}; // c++ 11用法,初始化std::array<int ,5> a = {1,2,3,4,5,6}; 挨个初始值std:...

2020-02-19 09:16:49 171

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除