自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 非阻塞,et模型 epoll

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <sys/socket.h>#include <sys/epoll.h>#include <netinet/in.h>#include <unistd.h&g...

2019-09-30 00:11:11 99

转载 C++虚表的实现原理(windows & linux上)

当大家被问到C++多态是怎么实现的时候,一般也就想到了虚函数吧,进一步也就是想到了与其关联的虚表指针,那我们就该想想这个虚表到底是怎么做到的呢。/*author: Jeson Yang date: 2015.11.21 file: ****.cpp*/#include <iostream>using namespace std;#define...

2019-09-30 00:11:09 326

转载 C++map遍历删除数据(删除被2整除的键值对)

C++使用迭代器遍历删除数据时 调用erase函数后,原先的迭代器不能使用了,故应该在之前先做处理。以前关于遍历删除本人都是使用一个vector来存储相关的key后,然后再删除,不过这样的效率确实不高,被朋友提点有效率好点的方法后,试了下以前以为会出错的方法,也对关联类的迭代器有了进一步认识吧,对这个迭代器先做偏移,取原先迭代器的作为移除点事其实是可行的。以下windows,li...

2019-09-30 00:11:09 379

转载 Linux开启mysql远程连接的设置步骤

Mysql默认root用户只能本地访问,不能远程连接管理mysql数据库,Linux如何开启mysql远程连接?设置步骤如下:1、GRANT命令创建远程连接mysql授权用户itloggermysql -u root -pmysql>GRANT ALL PRIVILEGES ON *.* TO itlogger@localhost IDENTIFIED BY ‘www...

2019-09-30 00:11:07 427

转载 const在变量前后,函数后的含义(C++)

const int * p1=&me;//p1可变,*p1不可变,此时不能用*p1来修改,但是p1可以转向int * constp2=&me;//p2不可变,*p2可变,此时允许*p2来修改其值,但是p2不能转向。const int *constp3=&me;//p3不可变,*p3也不可变,此时既不能用*p3来修改其值,也不能转向c...

2019-09-30 00:11:05 501

转载 C++四种强制类型转换

ANSI-C++标准定义了四个新的转换符:'reinterpret_cast', 'static_cast', 'dynamic_cast' 和 'const_cast',目的在于控制类(class)之间的类型转换。代码:reinterpret_cast<new_type>(expression)dynamic_cast<new_type>(...

2019-09-30 00:11:05 162

转载 Command模式(C++命令模式)

重新温习GOF23到第19个命令模式了,写下来方便自己理解用经理,秘书,邮局来理解这个模式还是比较好的。经理:喂,小丽呀,这儿有封信,请帮我尽快寄出去…秘书:好的,经理,我马上去办!秘书拿着这封信,到一家邮局将信寄了出去。邮局最终也将信投递到了收件人手中。这是一个很常见的生活工作场景,不过这里面:经理、秘书和邮局,三者在不知不觉间,演绎了一出面向对象设计模式:...

2019-09-30 00:11:03 147

转载 Interpreter模式(C++解释器模式)

Interpreter模式提供了一个实现语法解释器的框架,其目的就是使用一个解释器为用户提供一个一门定义语言语法表示的解释器,并且通过这个解释器来解释语言中的句子。 Interpreter模式使用类来表示文法规则,因此方便于文法的扩展。代码如下:#include <iostream>#include <string>using ...

2019-09-30 00:11:03 224

转载 Iterator模式(C++迭代器模式)

基本上来说,Iterator模式并没有什么可多说得,在STL中见得实在太多了,一般用于遍历数据结构,其实现也相对简单。代码如下://////////////////////////////////////////////////////////////////////////// author: Jeson Yang//date:2014.12.10//fi...

2019-09-30 00:11:00 85

转载 设计模式(六)桥连模式Bridge(结构型)

1. 概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?例子1:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案...

2019-09-30 00:11:00 602

转载 Vistor访问者模式(C++访问者模式)

Visitor模式在不破坏类的前提下,为类提供增加新的新操作。Visitor模式经常用于将更新的设计封装在一个类中,并且由待更改的类提供一个接受接口,其关键技术在于双分派技术,Element类提供接口,通过Accept实现具体使用哪一个具体的Visit操作; 当然如果有很多的修改,便可以提供更多的Element的Visitor,但是会破坏系统的封装,并且难于扩展。...

2019-09-30 00:10:58 105

转载 C++智能指针(设计和使用)

前段时间学习project Anarchy引擎,底层很多都是用的只能指针,学了之后一直没用过的,到现在终于算是见到实际作用了,现在重新温故下智能指针(smart pointer)是存储指向动态分配(堆)对象指针的类,用于生存期控制,能够确保自动正确的销毁动态分配的对象,防止内存泄露。它的一种通用实现技术是使用引用计数(reference count)。智能指针类将一个计数器与...

2019-09-30 00:10:58 107

转载 Mediator模式(C++中介者模式含个人Demo源码)

重新温习GOF23到第18个中介者模式了,感觉还是蛮不错的,写了一个小小的Demo来解释下他们之间的关系。中介者模式其实就相当于:中介,租房人,还有房主三者之间的关系。房主A,租房人B首先联系了中介,在中介那里记名字了。房主A有空房了,发条消息给中介,中介将A有空房的消息发给其他人。在此之上,demo做了小小扩充,当又有租房人C联系中介,B发了条消息,A与C都会收...

2019-09-30 00:10:56 66

转载 C++STL (vector,list,map)

/////////////////////////////////////////////////////////////////////////////author:Jeson Yang///Date:2014.9.15//////////////////////////////////////////////////////////////////////////#i...

2019-09-30 00:10:56 77

转载 华为面试题(8分钟写出代码)

今天又看见了这个题目,好像上次是同学跟我说腾讯面他的时候问了这个问题的。想了半天,在网上也看了半天,发现一个不错的算法,先帖出来:^ ^/*有两个数组a,b,大小都为n,数组元素的值任意,无序;要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小*//* 求解思路: 当前数组a和数组b的和之差为...

2019-09-30 00:10:55 1260

转载 C++友元函数和友元类

最近这些天在重温设计模式GOF23,偶然想到友元,不使用都快忘了今天重温一下C++友元知识,学了之后几乎就没怎么用到,几乎都是与设计模式打交道的。虽然说友元能提高效率,表达清晰,但是破坏了类的封装机制,所以一般情况下不建议使用友元,友元类简单demo:// 类A,希望把私有成员公开给类Bclass A{ friend class B;// 把B设置为友...

2019-09-30 00:10:53 79

转载 mysql float double 类型

1.float类型float列类型默认长度查不到结果,必须指定精度,比如 num float, insert into table (num) values (0.12); select * from table where num=0.12的话,empty set。num float(9,7), insert into table (num) values (0.1...

2019-09-30 00:10:46 82

转载 socket阻塞与非阻塞,同步与异步、I/O模型 .

1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。例如普通B/S模式(同步):提交请求-&gt...

2019-09-30 00:10:43 112

转载 IOCP模型总结(总结回顾)

IOCP旧代码重提,最近一直在玩其他方面的东东,时不时回顾一下,收益多多。IOCP(I/O Completion Port,I/O完成端口)是性能最好的一种I/O模型。它是应用程序使用线程池处理异步I/O请求的一种机制。在处理多个并发的异步I/O请求时,以往的模型都是在接收请求是创建一个线程来应答请求。这样就有很多的线程并行地运行在系统中。而这些线程都是可运行的,Window...

2019-09-30 00:10:41 190

转载 (转)文件名后缀大全

说起来Windows工作界面下的文件名简直是随心所欲,比如:某编辑部的2000年工作计划。文件名即可用中文直接表达,而且长度最长可达256个字符,让人看起来真是一目了然。然而在Windows环境中,安装的软件中却大量存在着类似CALENDAR.EXE、GAMES.GRP等等的文件名,这又是为什么呢?原来这些文件名都是根据DOS环境的文件名命名规则而定的。DOS环境下的文件名...

2019-09-30 00:10:39 2328

转载 unity 多点触控(放大,缩小)

//用于绑定参照物对象 var target : Transform; //缩放系数 var distance = 10.0; //左右滑动移动速度 var xSpeed = 250.0; var ySpeed = 120.0; //缩放限制系数 var yMinLimit = -20; var yMaxLimit = 80; //摄像头的...

2019-09-30 00:10:35 350

转载 自己写unicode转换ascii码,wchar*到char*

对于ascii码的char其实就是unicode码wchar的首个字节码,如wchar[20] = "qqqq"; 在内存中排码其实是char的'q' '\0'这类,因此我们如果自己写unicode码转换为ascii的char,只需要取其首字节即可,如下本人写了一个wchar到char的转换的函数。由于代码简单,加上了内存泄露测试方式。#include <st...

2019-09-30 00:10:35 122

转载 IOCP完成端口简单Demo

/////////////////////////////////////////////////////////////////////////////author:Jeson Yang///date:2014.09.28/////////////////////////////////////////////////////////////////////////...

2019-09-30 00:10:33 145

转载 Chain of Responsibility责任链模式(C++责任链模式)

Chainof Responsibility责任链模式:相当于MFC,windows程序设计窗口中的消息机制这类。MFC中,消息是通过一个向上递交的方式进行处理,例如一个WM_COMMAND消息的处理流程可能为:1) MDI主窗口(CMDIFrameWnd)收到命令消息WM_COMMAND,其ID位ID_×××;2) MDI主窗口将消息传给当前活动的MDI子窗口(CM...

2019-09-30 00:10:32 66

空空如也

空空如也

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

TA关注的人

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