c
文章平均质量分 82
xiaobangkuaipao
这个作者很懒,什么都没留下…
展开
-
类中成员函数调用问题
虚函数执行时,跟指针类型没有关系;跟作用域和虚函数表(new出来的对象有关)有关系; 如果有作用域,根据作用域执行(不会走虚函数表,直接到代码段找),与new的类型和指针类型没有关系; 如果没有作用域关键词则根据虚函数表(与new对象有关)执行;非虚重写函数执行时:跟new出来的对象没有关系,跟作用域和指针类型有关系 如果有作用域,则根据作用域调用原创 2017-03-21 08:50:26 · 4916 阅读 · 0 评论 -
C++函数中那些不可以被声明为虚函数的函数
参考:http://blog.csdn.net/hackbuteer1/article/details/6878255常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编转载 2017-08-26 09:47:09 · 215 阅读 · 0 评论 -
十道海量数据处理面试题与十个方法大总结
转载:http://blog.csdn.net/v_july_v/article/details/6279498/ 海量数据处理:十道面试题与十个海量数据处理方法总结作者:July、youwang、yanxionglu。时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http转载 2017-08-26 14:24:28 · 318 阅读 · 0 评论 -
设计模式原则详解
转载: http://blog.csdn.net/hguisu/article/details/7571617 hguisu 面向对象设计模式原则详解 我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性。 应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性。而在面向对象的设计里面,可维护性复用都是以面向对象设计转载 2017-08-26 21:45:52 · 256 阅读 · 0 评论 -
Windows IO模型-Select模型(同步阻塞模型)
参考博客:http://zxxapple.iteye.com/blog/1554692 套接字Select阻塞和非阻塞的区别在于:进程访问数据时,数据未就绪,进行是否需要等待。阻塞:进程等到有结果再返回,函数返回。非阻塞:请求完立即返回,不论是否接收到数据。异步和同步的区别在于:主动查看还是被动通知的区别,访问数据的机制不同。同步:主动请求,并等待I\O操作完毕,当数据读写时阻塞。异原创 2017-09-07 20:42:44 · 1692 阅读 · 0 评论 -
Windows IO模型-WSAAsynSelect模型(异步阻塞模型)
WSAAsyncSelect-异步选择模型(异步阻塞模型)异步选择(WSAAsyncSelect)模型:属于被动通知,基于消息机制,需要向Windows注册消息,当对应的网络事件发生时,向指定窗口发送指定消息。缺点:(1)消息不安全,而且会慢,消息的过程比较复杂。(2)基于窗口,必须要有窗口,所以平台有限制。 1、向windows注册网络事件█ WSAAsyncSelect原创 2017-09-08 13:40:41 · 1253 阅读 · 0 评论 -
Windows IO模型-WSAEventSelect模型(异步阻塞模型)
事件选择(WSAEventSelect)模型:基于事件通知,事件是一个有操作系统管理的内核对象,当前系统基于事件机制,该模型则可以使用,事件两种状态,有信号和无信号,检测事件,若有信号则进行相应处理。参考博客:http://www.cnblogs.com/venow/archive/2012/06/12/2543065.html 缺点:(1)不能同时处理多个Socket,有数量限制。要么W原创 2017-09-08 13:44:54 · 2042 阅读 · 0 评论 -
Linux复用I/O-Select-server代码
#include /* According to earlier standards */#include #include #include int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout);nfds: 监控的文件描述原创 2017-08-31 09:11:10 · 416 阅读 · 0 评论 -
Linux复用I/O-poll-server代码
poll的实现和select非常相似,只是描述fd集合的方式不同,poll使用pollfd结构而不是select的fd_set结构,其他的都差不多。我原创 2017-08-31 09:23:08 · 412 阅读 · 0 评论 -
解决hash表冲突的方法
http://blog.csdn.net/lightty/article/details/111919711、开放地址法:(1)线性探查法(Linear Probing):找到第一个空位置放置(2)线性补偿探测法:按一定步长往后找空位置(3)随机探测:随机对应空位置(4)线性探测再散列:原位置偏移+1,-1,+4,-4,+9,-9,+16,-16....2、转载 2017-08-21 20:21:10 · 454 阅读 · 0 评论 -
TCP和UDP的区别和优缺点
1、TCP与UDP区别总结:1、TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前不需要建立连接2、TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。原创 2017-08-06 20:32:16 · 255509 阅读 · 24 评论 -
线程基础知识-产生、退出、状态切换
线程的结束方式:变量和事件线程的通信方式:变量和消息线程的两个组成部分:线程的内核对象和线程栈/************** 引入线程优点******************/(1)易于调度(2)提高并发性(3)开销小;创建线程比创建进程快,所需要的开销也小;(4)有利于发挥多处理器的功能。通过创建多线程,每个线程都在一个处理器上运行,从而实现应用改程序的并行,使每原创 2017-08-10 16:50:04 · 439 阅读 · 0 评论 -
memcpy 、sprintf和strcpy 的比较
参考博客:http://blog.csdn.net/lovemysea/article/details/5275611这些函数的区别在于 实现功能 以及 操作对象 不同。strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能。char *strcpy( //头文件 char *strDestination,原创 2017-06-29 16:29:48 · 396 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
参考:http://www.cnblogs.com/carekee/articles/1630789.html一、sizeof sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此原创 2017-07-01 19:57:44 · 151 阅读 · 0 评论 -
C语言字符串相关操作总结
1)字符串操作 只有strcpy(),strcat()会在函数后面添加‘\0’char *strcpy(char destination[], const char source[]); 复制字符串 ,成功返回字符串目标地址。char *strncpy(char destination[], const char source[], int num);复制指定长度字符串,成功返回字符串原创 2017-07-07 20:43:12 · 359 阅读 · 0 评论 -
MFC中模态和非模态对话框
参考博客:http://www.cnblogs.com/ikangkang/p/5965168.html1.简述 1.1模态对话框(model dialog box) 当模态对话框显示时,程序会暂停执行,直到关闭这个模态对话框之后,才能执行程序中的其他任务。点击模态对话框中的OK按钮,模态对话框会被销毁。 1.2非模态对话框(modeless dialog原创 2017-07-22 16:11:07 · 339 阅读 · 0 评论 -
进程通信-Linux
参考博客:https://yq.aliyun.com/articles/47679 Linux进程间通信的几种方式总结http://blog.csdn.net/bresponse/article/details/7085774 进程间通信方式总结(windows 和linux)http://blog.csdn.net/tax10240809163com/article/detail原创 2017-08-07 20:52:43 · 228 阅读 · 0 评论 -
SOCKET通信
参考博客:http://blog.csdn.net/jiajia4336/article/details/8798421 Socket通信原理和实践平时说的最多的SOCKET是什么呢?实际上SOCKET是对TCP/IP协议的封装,SOCKET本身并不是协议,而是一个调用接口(API)socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open原创 2017-08-07 10:52:49 · 535 阅读 · 0 评论 -
TCP滑动窗口控制流量的原理
参考博客:http://www.cnblogs.com/luoquan/p/4886345.html TCP滑动窗口控制流量的原理参考博客:点击打开链接 TCP的流量控制TCP的滑动窗口机制 TCP这个协议是网络中使用的比较广泛,他是一个面向连接的可靠的传输协议。既然是一个可靠的传输协议就需要对数据进行确认。TCP协议里窗口机制有2种:一种是固定的窗原创 2017-08-10 08:55:35 · 1319 阅读 · 1 评论 -
常见锁原理和使用-旋转锁和SRWLock
请参考本人线程同步方面的博客;1、旋转锁:在实现旋转锁的时候InterlockedExchange及其有用。while(InterlockedExchange(&flag,true) ==true) sleep(0);把flag的值设为true,并检查原来的值是否为true,若是,则说明有其他线程正在使用该资源,于是while循环会继续执行,直到其他函数将flag改为false。缺点:旋转原创 2017-08-10 22:51:14 · 1819 阅读 · 0 评论 -
Linux复用I/O-epoll-server代码
参考博客:http://www.cnblogs.com/Anker/p/3265058.htmlselect-poll-epollselect的几大缺点:(1)每次调用select,都需要把fd集合从用户态拷贝到内核态,这个开销在fd很多时会很大(2)同时每次调用select都需要在内核遍历传递进来的所有fd,这个开销在fd很多时也很大(3)select原创 2017-08-31 11:11:25 · 494 阅读 · 0 评论