自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 智能指针

· RAII(Resource Acquisition Is Initialization):资源分配即初始化,定义一个类来封装资源的分配和释放,   在构造函数完成的资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。RAII要求,资源的有效期与持有资源的对象的生命期严格绑定,即有对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的释放在这种要求下,只要对象能...

2018-05-08 17:47:41 151

原创 多线程

一、线程的概念什么是线程?·在一个程序里一个执行路线就叫做线程(thread),准确来说,线程是“一个进程内部的控制序列”。·LWP(light-weight-process)轻量级进程,本质仍是进程(在Linux环境下)·也有PCB,但是没有独立的地址空间(共享地址空间)·最小的执行单位二、进程和线程·在Linux下(1)进程是最小分配资源单位,可看成是只有一个线程的进程。而线程是最小的执行单位...

2018-04-12 10:00:21 190

原创 Linux下五种IO模型及性能分析

一、概念理解1.同步通信VS异步通信     同步和异步关注的是消息通信机制。同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。但是一旦调用返回,就得到返回值了;换句话说,就是由调用者主动等待这个调用的结果。异步:      异步则是相反,调用在发出之后,这个调用就直接返回了,所以没有返回结果;换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果,而是在调用发出后...

2018-04-09 19:51:56 437

原创 为什么模板不支持分离编译?

为什么模板不支持分离编译?解决办法:1.在模板头文件xxx.h里面显示实例化->模板类的定义后面添加template class SeqList;一般不推荐这种方法,一方面是老的编译器可能不支持,另一方面实例化依赖调用者。(不推荐)2.将声明和定义放在一个文件“xxx.hpp”里面。

2017-10-12 15:29:34 263

原创 菱形继承

菱形继承以及剖析虚继承解决菱形继承中的问题

2017-08-02 22:29:57 370

原创 多态&多态对象模型

声明:以下测试均在windows7 32位vs2008环境下测试。//什么是多态?这里先引入虚函数和虚函数重写的概念。虚函数:在类的成员函数前面加上virtual关键字 。(跟虚继承一点关系都没有,只不过关键字一样)。虚函数重写:当在子类的定义了一个完全相同的虚函数时,则称子类的这个函数重写(也称覆盖 )了子类的这个虚函数。所谓多态,其实就是“多种形态”。c++中虚函数的主

2017-08-02 20:06:29 279

原创 c++动态内存管理

//c语言动态内存管理c语言使用malloc/calloc/realloc/free进行动态内存管理malloc是不初始化的开辟空间,其参数为空间的大小,单位为字节;calloc是初始化的进行开辟空间,其参数为(元素个数,大小),单位为字节。realloc增容,如果后面的空间足够的话,就直接追加到其后方空间。如果后面的空间不够的话,realloc会重新找一块可以满足大小的空间进行开

2017-07-24 21:20:07 284

原创 指针&引用&const

//`引用#includeusing namespace std;void test1(){int a;int &b=a;cout"cout"a=2;b=3;int &c=b;c=4;cout}int main(){test1();return 0;}引用:引用不是定义一个新的变量,而是给一个已定义的变量重

2017-07-24 14:12:09 296

原创 模拟实现string的增删查改

#define _CRT_SECURE_NO_WARNINGS#include #include #include using namespace std;class String{public:String(char* str=""):_str(new char[strlen(str)+1]),_sz(strlen(str)),_cap

2017-07-24 14:01:53 333

原创 c++中函数重载的实现原理

c++中函数重载

2017-07-24 13:58:09 391

原创 关于数组中的sizeof和strlen

sizeof()求得是变量或者空间开辟空间的大小,而strlen()函数参数接收的必须是一个有效地址一:一维数组int a[] = {1,2,3,4};printf("%d\n",sizeof(a));//16  当arr单独放在sizeof()的时候代表整个数组,因为数组中有4个元素,而每个元素都是整型,都有四个字节,所以4*4=16字节.printf("%d\n",size

2017-04-15 11:38:01 417

空空如也

空空如也

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

TA关注的人

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