about C++
piplu
这个作者很懒,什么都没留下…
展开
-
RingBuffer
// PHZ// 2018-5-15#ifndef _RING_BUFFER_H#define _RING_BUFFER_H#include <vector>#include <memory>#include <atomic>#include <iostream>template <typename T>class RingBuffer{public: RingBuffer(unsigned capacity=.原创 2021-04-26 20:25:27 · 187 阅读 · 0 评论 -
一个很实用的的缓冲区队列
#ifndef _QUEUE_H#define _QUEUE_H#include <mutex>#include <queue>#include <condition_variable>template<typename T>class threadsafe_queue{public: threadsafe_queue() { } threadsafe_queue(threadsafe_q.原创 2021-04-26 20:13:38 · 324 阅读 · 0 评论 -
拷贝构造、赋值构造、深拷贝、浅拷贝、位拷贝、值拷贝
很早之前,一直对这些名词很不解,翻看了c++ primer很多次,也只知道其用法,不知其解。说白了,就是不知道为什么有这些各式的拷贝的存在,或者是说在何种环境下面要使用得上!今天无意翻到当初写的小例子,重新整理后帖上来作个记号! //=================================一,在什么环境下面可能需要使用自定义拷贝、赋值构造? 在解释这些名词之前,需要原创 2015-11-26 14:21:37 · 526 阅读 · 0 评论 -
UML类图几种关系的总结
在UML类图中,常见的有以下几种关系:泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头指向】转载 2015-11-26 14:38:01 · 319 阅读 · 0 评论 -
getline函数使用总结
// getlineDemo.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include #include #include /* * Note: 这里需要区分 getline和 std::cin.getline,是属不同的二个类中的函数,行参不一样,但功能是差不多的 一, getline(cin,st原创 2015-12-18 14:57:08 · 971 阅读 · 0 评论 -
读书笔记——Windows核心编程(8)Interlocked单向链式栈
SLists使用了无锁算法来保证原子同步,以提升系统性能,避免了诸如优先级挂和互锁的问题。注意:所有的链表项必须对齐到MEMORY_ALLOCATION_ALIGNMENT。否则会出现奇葩的错误。(PS:看英文MSDN的API解释,我感觉这是从前插又从前取,是个栈的样子。)InitializeSListHead,创建一个空栈[cpp] vie转载 2016-03-31 14:17:55 · 465 阅读 · 0 评论 -
秒杀多线程第三篇 原子操作 Interlocked系列函数
上一篇《多线程第一次亲密接触 CreateThread与_beginthreadex本质区别》中讲到一个多线程报数功能。为了描述方便和代码简洁起见,我们可以只输出最后的报数结果来观察程序是否运行出错。这也非常类似于统计一个网站每天有多少用户登录,每个用户登录用一个线程模拟,线程运行时会将一个表示计数的变量递增。程序在最后输出计数的值表示有今天多少个用户登录,如果这个值不等于我们启动的线程个数,那显转载 2016-04-28 16:42:01 · 301 阅读 · 0 评论 -
QMutex & QWaitCondition 小记!
用惯了Boost的mutex和Condition,突然发现QT的互斥锁与信号量跟Boost的这么神似! 所以今儿将QT的互斥与信号量做个小抄,方便后续查看!同时,记录一下先前对condition的使用一直比较模糊的地方顺便也做个笔记!// QThreadAndMutexLocker.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include原创 2017-12-21 23:09:17 · 1577 阅读 · 0 评论