- 博客(10)
- 收藏
- 关注
原创 Concurrent Memory Pool:高并发内存池(三层结构)
Concurrent Memory Pool:高并发内存池(三层结构)首先了解一下池化技术和内存池池化技术池是在计算机技术中经常使用的一种设计模式主要是将程序中需要经常使用的核心资源先申请出来,放到一个池内,由程序自己管理,这样可以提高资源的使用效率,也可以保证本程序占有的资源数量。经常使用的池技术包括内存池、线程池和连接池等,其中尤以内存池和线程池使用最多。内存池内存池(Memory ...
2019-03-28 10:47:42 1105
原创 Linux:可重入和线程安全
可重入和线程安全概念线程安全:多个线程并发执行同一段代码时,不会出现不同的结果。常见对全局变量或者静态变量进行操作,并且没有锁保护的情况下,会出现该问题。重入:同一个函数被不同的执行流调用,当前一个流程还没有执行完,就有其他的执行流再次进入,称之为重入。一个函数在重入的情况下,运行结果不会出现任何不同或者任何问题,则该函数被称为可重入函数,否则,是不可重入函数。常见的线程不安全的情况...
2019-03-25 14:17:05 266
原创 C++:STL----string相关使用接口
string相关接口头文件#include <string>
2019-03-12 09:09:50 349
原创 C++:string的三种遍历方式(operator[ ],迭代器,新式for循环)
string的三种遍历方式一、operator[ ]遍历string重载了operator[ ],所以string支持下标访问。void Print1(string s){ for (size_t i = 0; i < s.size(); i++) { cout << s[i] << " ";//支持下标访问 //等价于cout
2019-03-10 10:13:37 17467
原创 C++:单例模式(饿汉模式和懒汉模式)
单例模式(饿汉模式和懒汉模式)设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。单例模式概念一个类只能创建一个对象,即单例模式,该模式可以保证系统中该类只有一个实例,并提供一个访问...
2019-03-09 16:00:56 2905
原创 C++:模板(上篇----泛型编程、函数模板、类模板)
模板记得我们之前写过的交换函数,如果我们要交换两个整形,需要写一个参数为整形的Swap函数,如果要交换两个字符型,那又要写一个参数为char的Swap函数,等等。那这样就很麻烦,那有没有一种通用的东西可以不考虑类型呢?那就是模板。一、泛型编程泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。首先看下面的代码:void Swap(int& left, ...
2019-03-08 11:33:06 232
原创 C++:设计一个类,只在堆上 / 栈上创建对象
设计一个类,只在堆上创建对象class HeapOnly{public: static HeapOnly* GetHeapObj() { return new HeapOnly; }private: //构造函数私有 HeapOnly() {} //C++98:拷贝构造函数只声明不实现,并且声明成私有的 HeapOnly(const HeapOnly&); /...
2019-03-06 12:37:49 337
原创 C++:实现一个Date类
关于日期类,我们最基本的成员变量就是三个:年、月、日。关于成员函数我们要实现构造,拷贝构造,赋值,关于日期的比较大小,以及日期加天数,日期减天数,以及+=和- =,同时还要考虑能否复用,日期减日期,还有日期类的++和- -(分为前置和后置)等。具体代码如下:详情请看代码注释Date.h#pragma once#include <iostream>class Date{pu...
2019-03-05 08:55:51 1044
原创 C++:内存管理(new和delete的使用以及底层原理、定位new表达式、malloc/free和new/delete的区别,内存泄漏)
内存管理(上篇)C语言中动态内存管理方式:malloc/calloc/realloc和freevoid* malloc(unsigned size); void* realloc(void* ptr, unsigned newsize); void* calloc(size_t numElements, size_t sizeOfElement); 都在...
2019-03-03 14:50:52 637
原创 C++:类和对象(下篇----初始化列表,explicit关键字,static成员,C++11 类成员的初始化,友元,内部类)
类和对象(下篇)一、初始化列表类和对象中篇我们了解了构造函数,构造函数可以定义为全缺省的构造函数,构造函数调用之后,对象中已经有了一个初始值,但是不能将其称作为类对象成员的初始化,构造函数体中的语句只能将其称作为赋初值,而不能称作初始化。因为初始化只能初始化一次,而构造函数体内可以多次赋值。初始化列表的特点以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在...
2019-03-02 08:45:33 435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人