自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 静态成员实战(踩坑记录)

一、类内声明,类外定义!!!1、静态成员变量错误示范类内定义,达咩!!!在这里插入图片描述需要在类外定义:2、静态成员函数在类内对helper()进行声明。在类外进行helper()定义二、为什么得在类内声明,类外定义?首先就是类内声明变量,仅仅只是对变量的声明而已,我们都知道,使用变量时一个是声明变量,知道变量的一个作用域,数据类型和属性,第二个是给变量分配内存。类外定义就是为变量进行一个内存的分配。那这边为什么要在类外进行变量的内存分配,主要是因为,C++的内存分布中,

2021-12-23 12:28:42 477

原创 C++单例模式

核心三个条件1、该类有且只能有一个对象2、该对象全局共享3、该对象只能由类自身创建单例模式exampleclass singleton{private: static singleton* instance;//static 关键字可以做到条件1 singleton(){}; //使用private构造函数可以做到条件3public: static singleton* get_instance(){//提供对象获得函数满足条件2

2021-08-11 21:23:20 82

转载 彻底搞懂Reactor模型和Proactor模型

在高性能的I/O设计中,有两个著名的模型:Reactor模型和Proactor模型,其中Reactor模型用于同步I/O,而Proactor模型运用于异步I/O操作。想要了解两种模型,需要了解一些IO、同步异步的基础知识服务端的线程模型无论是Reactor模型还是Proactor模型,对于支持多连接的服务器,一般可以总结为2种fd和3种事件,如下图:2种fdlistenfd:一般情况,只有一个。用来监听一个特定的端口(如80)。connfd:每个连接都有一个connfd。用来收发数据。3种

2021-07-22 13:53:17 448

原创 select、epoll技术归纳

编者总结最近,刚刚在做web服务器的开发。涉及到IO多路复用的相关知识。也通过多个博客以及源码了解了select和epoll之间的主要区别。select和epoll之间性能上的区别就是,select需要O(n)的时间复杂度,而epoll只需要O(1)的时间复杂度。select:(1)每次调用select时,都需要将所有的fds类别传给内核;将当前进程加入到所有监听的socket的等待队列中;唤醒一个进程时,需要从每个等待队列中移除该进程。(2)在应用层(通过代码可以看到),需要循环遍历监听的soc

2021-07-19 15:15:13 135

转载 C/C++内存静态分配和动态分配

来源: http://blog.csdn.net/liuchao1986105/article/details/6724392内存的静态分配和动态分配的区别主要是两个:一是时间不同。静态分配发生在程序编译和连接的时候。动态分配则发生在程序调入和执行的时候。 二是空间不同。堆都是动态分配的,没有静态分配的堆。栈有2种分配方式:静态分配和动态分配。静态分配是编译器完成的,比如局部变量的分配。动态分配由函数malloc进行分配。不过栈的动态分配和堆不同,他的动态分配是由编译器进行释放,无需我们手工实现。

2021-07-09 10:27:26 1026

原创 .c .cpp C/C++程序编译过程

编译流程图gcc编译.c和.cpp文件主要分为四个步骤源文件:test.c/test.cpp一、预处理阶段将文件中的宏定义、#include”“包含的头文件进行展开。gcc编译命令gcc -E test.c -o test.i-E:完成预处理后停止编译进程-o test.i:生成预处理后文件为 test.i .i:Intermediate file二、编译阶段将经过预处理阶段得到的预处理文件test.i编译为汇编程序gcc -S test.i -o test.s-S:完成编译阶

2021-07-09 10:08:52 776

原创 PAT A1039使用string也可以不超时!!!

亲测,直接使用map<string,vector>也可以通过所有测试点!!!欢迎讨论细节问题!!!代码如下:#include#include#include<time.h>#include<stdio.h>#include#include<limits.h>//int_max和int_min的头文件#include#include#...

2020-03-09 11:38:37 215

原创 PAT A1051题解

PAT A1051题解简单的栈模拟,使用C++STL中的stack来作为容器。#include #include #includeusing namespace std;const int maxn = 1010;int arr[maxn];stack st;int main(){int m, n, T;cin&gt;&gt;m&gt;&gt;n&gt;&gt;T;whil...

2019-03-09 12:18:51 192

空空如也

空空如也

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

TA关注的人

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