自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ZY-JIMMY

若有恒,何必三更起五更眠;最无益,莫过一日曝十日寒。

  • 博客(13)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入剖析C++智能指针

文章目录智能指针的引入理解智能指针的原理浅谈智能指针RALL 与 引用计数智能指针的简单实现智能指针的设计原理和实现不带引用计数的智能指针auto_ptr源码剖析scoped_ptr源码剖析unique_ptr源码剖析带引用计数的智能指针share_ptrweak_ptr智能指针的引入裸指针存在的问题:使用new开辟堆内存却忘记delete内存资源,造成内存泄漏问题,即申请堆内存后忘记释放...

2019-03-31 02:42:18 3328 3

原创 Linux | 多线程环境编程

文章目录线程与进程一个进程中可以创建多少线程关于strtok函数的线程安全问题在多线程环境中使用forkpthread_atfork线程与进程一个进程中可以创建多少线程为了得出此问题的结果,我们进行一个简单的测试,之后进行分析:#include <stdio.h>#include <assert.h>#include <string.h>#incl...

2019-03-24 19:58:33 2231

原创 Linux | 线程同步的四种方式

文章目录互斥锁条件变量信号量读写锁Linux下提供了多种方式来处理线程同步,最常用的是互斥锁、条件变量、信号量和读写锁。互斥锁在线程里也有这么一把锁——互斥锁(mutex),互斥锁是一种简单的加锁的方法来控制对共享资源的访问,互斥锁只有两种状态,即上锁( lock )和解锁( unlock )。【互斥锁的特点】:原子性:把一个互斥量锁定为一个原子操作,这意味着操作系统(或pthre...

2019-03-24 00:11:50 2666

原创 C++ | STL之顺序容器、关联容器、容器适配器

文章目录STL简述STL六大组件顺序容器(序列式容器)vectordequelist关联容器容器适配器STL简述STL是Standard TemplateLibrary的简称,中文名标准模板库,从根本上说,STL是一些“容器”的集合,这些“容器”有list、vector、set、map等,STL也是算法和其他一些组件的集合。STL的目的是标准化组件,这样就不用重新开发,可以使用现成的组件。...

2019-03-23 23:42:51 1951

原创 Linux | POISX线程

文章目录线程的基本概念什么是线程为什么要引入线程线程与进程的区别用户级和内核级线程线程同步实现线程同步的几种方法pthread库数据类型操纵函数pthread_createpthread_exitpthread_join线程同步程序示例线程的基本概念什么是线程线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺...

2019-03-17 23:29:31 2437

原创 C++ | 迭代器、顺序容器及容器的空间配置器

迭代器迭代器的基本概念迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。程序示例:实现CString类的空间配置器CString类源码:https://blog.csdn.net/ZYZMZM_/article/details/8...

2019-03-15 23:07:15 1225

原创 C++ | 运算符重载

运算符重载C++中预定义的运算符的操作对象只能是基本数据类型。但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作。这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作。 运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一。运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作。...

2019-03-14 11:26:05 1238

原创 【C++设计模式】Singleton 单例设计模式与线程安全

何为设计模式(Design Pattern)设计模式是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。设计模式代表了最佳的实践,是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。单例模式(Singleton)什么是单例...

2019-03-12 09:45:10 2410 1

原创 C++ | 模板详解

文章目录模板的基本概念概述什么是模板什么是函数模板什么是类模板模板的实例化模板的参数列表模板类型参数模板非类型参数模板的特例化(特化/专用化)函数模板类模板模板的基本概念概述问题:怎么理解C++里边的多态? 静态的多态(编译时期的多态):函数重载,模板 动态的多态(运行时期的多态):继承中的虚函数模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模...

2019-03-10 00:31:37 1802

原创 C++ | 类成员方法的简单总结

文章目录普通成员方法static静态成员方法const常成员方法static 和 const 的区别类成员方法的简单总结例题分析普通成员方法属于类的作用域调用必须依赖对象可以任意访问自己其它private私有成员static静态成员方法属于类的作用域调用必须依赖类的作用域可以任意访问自己其它private静态私有成员类的静态成员变量必须在类外进行初始化==========...

2019-03-09 20:55:40 1652

原创 Linux进程间通信 | 信号量、消息队列、共享内存

文章目录信号量基本概念Linux的信号量机制semget函数semop函数semctl函数信号量应用示例程序消息队列基本概念Linux的消息队列机制msgget函数msgctl函数msgsnd函数msgrcv函数消息队列应用程序示例共享内存基本概念Linux的共享内存机制shmget函数shmat函数shmdt函数shmctl函数共享内存应用示例程序信号量基本概念临界资源指同一时刻,只允许...

2019-03-09 19:52:01 1906

原创 Linux进程间通信 | 管道

文章目录进程间通信简介(IPC)管道机制的基本概念什么是管道管道通信的特点匿名管道管道的创建与关闭管道的读写命名管道命名管道的概念命名管道与管道的区别命名管道的创建命名管道的读写进程间通信简介(IPC)进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共...

2019-03-05 23:03:46 1031

原创 Linux | 信号处理机制及相关系统调用

文章目录信号概述信号处理机制内核对信号的基本处理方法有关信号的系统调用signal系统调用kill系统调用alarm函数模拟对于 Linux来说,信号的实质是一种软中断,许多重要的程序都需要处理信号。信号,为 Linux 提供了一种处理异步事件的方法。比如,终端用户输入了 ctrl+c 来中断程序,会通过信号机制停止一个程序。信号概述信号机制是进程之间相互传递消息的一种方法,信号全称为软中断...

2019-03-05 21:17:30 1514 1

VC++ 6.0下载(兼容Win10 )

VC++ 6.0集成开发环境,完美兼容Win10版本,可提供编辑C语言,C++以及C++/CLI等编程语言。

2018-10-03

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

TA关注的人

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