自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (6)
  • 收藏
  • 关注

原创 UDP面试相关

1.UDP程序实现过程:客户端:(1)Socket():创建套接字描述符,其在套接字描述表中对应着一个套接字数据结构(2)sendto():发送数据,发送时需要指定套接字描述符,数据包,数据包大小,发送的地址和端口号(3)recvfrom():接收数据,接收时也需指定服务端的IP地址和端口号(4)closesocket():关闭套接字服务端:(1)Socket():创建套接字描

2014-03-25 00:07:54 805

原创 map、multimap、set、multiset容器

1.map、multimap、set、multiset容器的内部实现采用的是红黑树(平衡二叉查找树),其本身是二叉查找树的一种,满足二叉查找树的一般性质:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树;(4)二叉查找树的查找、插入、删除等操作平均时间复杂度为O

2014-03-24 20:38:21 831

转载 教你透彻了解红黑树

转自: http://blog.csdn.net/v_JULY_v/article/details/6285620  教你透彻了解红黑树 作者:July、saturnman   2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Da

2014-03-24 19:07:58 407

原创 vector容器与iterator容器相结合的程序分析题

#include #include #include using namespace std;int main() {// your code goes herestring str="abcd";vector vec(10,"abc");vector::iterator iter=vec.begin();cout//正确cout//错误,字符串

2014-03-22 23:19:18 727

转载 C++三种继承方式public、protected、private

在C++中,类继承书写方式如下:派生类的声明class 派生类名:继承方式 基类名 //其中继承方式可省略(默认的继承方式为private,例如:class A:B{};){   新增成员声明;};其中,继承方式分为三种:public,private,protected,其区别如下:public继承:1、基类的

2014-03-22 22:48:52 2035

翻译 多态类中的虚函数表是Compile-Time,还是Run-Time时建立的

答:虚拟函数表是在编译期就建立了,各个虚拟函数这时被组织成了一个虚拟函数的入口地址的数组.而对象的隐藏成员--虚拟函数表指针是在运行期--也就是构造函数被调用时进行初始化的,这是实现多态的关键。摘自:http://blog.csdn.net/lori2004/article/details/4620516

2014-03-22 21:52:42 897

原创 C++派生类对象构造函数初始化顺序

答:(1)先调用基类中的构造函数(如果有多个基类,根据继承时声明的顺序进行初始化)(2)再调用成员类中的构造函数(如果有多个成员类,根据其声明的顺序进行初始化)(3)最后初始化派生类本身的构造函数#include   #include  class A{public:A{…}      ~A{…}};class B{public:B{

2014-03-22 21:21:16 3252

转载 32位和64位各类型所占的字节数

一)64位系统和32位有什么区别? 1、64bit CPU拥有更大的寻址能力,最大支持到16GB内存,而32bit只支持4G内存2、64位CPU一次可提取64位数据,比32位提高了一倍,理论上性能会提升1倍。但这是建立在64bit操作系统,64bit软件的基础上的。 什么是64位处理器?之所以叫做“64位处理器”,是因为电脑内部都是实行2进制运算,处理器(C

2014-03-22 20:56:43 1585

原创 C++实现单链表的逆转

答:方法一:把链表中各结点的next域指向其前驱结点,并将原先第一个结点的next域设为NULL,将head指向原先链表的最后一个结点,其具体实现如下:LinkNode* ReverseLink(LinkNode **head){LinkNode *cur,*pre,*temp;cur=*head;pre=NULL;temp=NULL;while(cur!=NULL

2014-03-21 19:46:00 1043

原创 寻找数组中第二大数

//绝对原创#include using namespace std;int findsecondmax(int *Num,int length){int Maxs[2];int *pSmax;Maxs[0]=Num[0];Maxs[1]=Num[1];pSmax=Maxs[0]int i;for(i=2;i{if(Num[i]>*pSmax)

2014-03-21 16:26:55 624

转载 防止头文件重复引用

一、为什么会出现头文件被重复引用的问题     在一个CPP文件中,可以包含多个头文件,而头文件间又是可以相互引用的,这就导致一个CPP文件中可能间接多次包含某个头文件,如果头文件中 没有防止 多次编译的语句,就会出现头文件被重复定义的编译错误二、怎么防止 头文件被重复引用      1、使用 ifndef/define/endif 结构产生预处理块            适用条件

2014-03-21 14:44:47 1153

转载 TCP/IP三次握手协议和四次挥手协议详解

答:三次握手协议过程:(1)客户端A发送一个带SYN标志的TCP报文到服务器(请求连接)(2)服务器B收到请求后,确认连接,向客户端A发送一个带ACK(确认应答)和SYN(同步序列)标志的TCP报文(确认连接)(3)客户端A收到该TCP报文后,再向服务器B发送一个带ACK标志的TCP报文(建立连接)四次挥手协议过程:(1)客户端A发送一个带有FIN标志的TC

2014-03-21 13:57:53 635

原创 TCP和UDP的区别

答:(1)TCP是面向字节流的;UDP是面向数据报文的(如果发送数据报文较大,IP层通常对其进行分片)(2)TCP是有连接的,可靠地传输方式(有流量控制和拥塞控制机制);UDP是无连接的,不可靠传输方式(3)TCP能用于传输大量数据,但传输速度慢;UDP一般用于传输少量数据,但传输速度比较快

2014-03-21 12:39:58 376

原创 死锁的定义及产生死锁的四个条件

答:死锁的定义:是指多个进程循环等待它方占有的资源而无限期地僵持下去的局面。死锁的产生的四个必备条件:(1)互斥条件:某个资源同时只能有一个进程占用(2)不可抢占条件:资源只能由占有者进程自行释放,不能被申请者进程抢占(3)占有且申请条件:进程至少已经占有一个资源,但又申请新的资源(4)循环等待条件:存在一个进程序列处于循环循环等待环的状态,例如进程等待序列{P1,P2,...

2014-03-21 10:59:14 1322

原创 const关键字的作用

答:const意味着”只读“,其作用如下:(1)const修饰变量时,意味着该变量一旦初始化就不可改变(2)const修饰形参时,表明该参数是一个输入参数,在函数内部不能改变其值(3)const修饰类的成员函数时,表明该成员函数是一个常成员函数,不修改类的成员变量(4)const修饰类的成员函数返回值时,表明该返回值只能作”左值“

2014-03-21 10:40:09 577

原创 指针与引用的区别

答:(1)指针是一个实体,占用内存空间,而引用只是变量的一个别名(2)引用创建时必须初始化,且之后不可改变;指针可以改变(3)引用不可为NULL,而指针可以为NULL

2014-03-21 09:49:12 385

原创 宏和内联函数的区别

答:(1)宏只是简单的字符串替换,带参数的宏并不对参数表达式进行运算,而是直接进行替换;内联函数是先将参数表达式进行运算求值,然后将值传入到函数中(2)带参数的宏没有类型的概念,只有宏展开后,编译器才检查语法,存在许多安全隐患;而内联函数有参数类型,并且有返回值类型

2014-03-21 09:26:20 448

转载 大小段问题

转载:http://www.cppblog.com/humanchao/archive/2012/12/26/196684.html一、什么是大小端问题(From《Computer Systems,A Programer's Perspective》)在几乎所有的机器上,多字节对象被存储为连续的字节序列,对象的地址为所使用字节序列中最低字节地址。小端:某些机器选择在存储

2014-03-20 23:16:57 1074

原创 内联函数和普通函数的区别

答:(1)内联函数是代码被插入到调用者代码处的函数(2)内联函数在编译时,对每次调用都生成一个副本,运行时,内联函数直接展开(类似宏)即可运行。而普通函数编译时,只生成一个副本,在运行时,需进行一些进栈出栈操作来调用函数,和初始化参数。(3)内联函数占用内存大,效率高,普通函数占用内存小,效率低

2014-03-20 22:51:43 1484

原创 堆和栈的区别

答:一般程序常分为以下5个分区:(1)堆区:由程序员自己分配和释放(new/delete || malloc/free),若程序员不释放,程序结束时可能由操作系统OS回收(2)栈区:由编译器分配和释放,通常存储由函数参数值、局部变量值及函数调用地址等(3)全局区:一般存储全局变量和静态变量,其中初始化的全局变量和静态变量放在一块,未初始化的全局变量和静态变量存放在相邻的另一区,程序结束

2014-03-20 22:03:19 466

原创 linux下brk、mmap、malloc和new的区别

答:brk是系统调用,主要工作是实现虚拟内存到内存的映射,可以让进程的堆指针增长一定的大小,逻辑上消耗掉一块虚拟地址空间,malloc向OS获取的内存大小比较小时,将直接通过brk调用获取虚拟地址。mmap是系统调用,也是实现虚拟内存到内存的映射,可以让进程的虚拟地址区间切分出一块指定大小的虚拟地址空间vma_struct,一个进程的所有动态库文件.so的加载,都需要通过mmap系统调用映

2014-03-20 20:15:55 4251

原创 static_cast、dynamic_cast、const_cast和reinterpret_cast的区别

答:static_cast是静态编译时的强制类型转换,但没有运行时类型检查来保证转换的安全性。用法:static_cast (expression)常用于基类和子类之间指针或引用的转换:上行转换(把子类的指针或引用转换成基类表示)是安全的    下行转换(把基类指针或引用转换成子类表示)是不安全的亦可用于基本数据类型或类类型(对象)之间的转换  dynamic_ca

2014-03-20 20:13:28 669

原创 各种考试

1.Tcp/Ip三次握手和四次握手详细过程2.static_cast、dynamic_cast、const_cast和reinterpret_cast的区别3.linux下brk、mmap、malloc和new的区别4.linux下堆和栈的区别5.常见的各种排序,并说明原理6.const关键字含义7.宏和内联函数的区别8.指针与引用的区别9.“abc\t\nab”的

2014-03-19 10:21:00 457

转载 程序异常VC调试器无法定位的处理

原文:http://www.cppblog.com/sunicdavy/archive/2013/06/27/201339.html最近调试程序发现空指针老无法定位, 使用一个最简单的main函数做空指针检查也一样, 具体症状见图pdb加载是正常的, 但是堆栈没显示如此简单的空指针访问位置. Google了以下http://blogs.msdn.com/b/debu

2014-03-07 21:59:38 1198

转载 C++界面库的抉择

原文:http://www.cppblog.com/sunicdavy/archive/2010/07/28/121477.aspxC++的界面库经过几天来的搜索,总结了下面几种的优缺点1. MFC   优点:VS2008以及VS2010的扩展确实很强大,特别是原生的窗口运行时停靠以及PropertyGrid确实很强大   缺点:默认字体很模糊,无论你对MFC多了解

2014-03-07 21:55:53 1002

原创 大数据时代---维克托•迈尔•舍恩伯格

最近闲着无聊,本着好奇的心态,就下了本舍恩伯格的大数据时代看看,不看还好,一看就舍不得扔下,惊叹于他的创造性思维,更佩服他的远见,下面是我的几点感受。1.大数据时代,数据的样本之多,关系错综复杂,数据的格式化之难,使得原有的数据库模式已不适应2.大数据时代的创造性思维:(1)大数据时代,关注的不再是随机样本,而是全数据   (2)大数据时代,注重的不再是精确性,而是预测性/混杂性

2014-03-07 21:40:57 3024

原创 C++程序员不可不知的知识

1.C++的标准2.C++模板3.Windows下常用的图形库4.项目管理

2014-03-05 20:41:01 483

原创 C、C++和VC++的区别

1.C语言是面向过程的编程语言2.C++是在C基础上发展起来的,是面向对象的开发语言3.VC++是微软公司在C++的基础上提供了一些Windows图形界面函数库,可以说VC++ 就是C++加上Windows图形库

2014-03-04 15:58:29 1529

脑电信号分析与特征提取

对脑电信号分析与特征提取的方法进行详细的描述,加深你对其了解

2013-04-01

EEGLab工具包使用手册

基于Matlab的EEGLab工具包使用手册,对EEGLab工具包进行全面的讲述,有助于理解

2013-04-01

matlab脑电信号处理

利用matlab工具软件对脑电信号处理,有代码实例,简单易懂,能让你短时间内熟悉matlab对脑电信号分析。

2013-03-06

matlab简明实例教程

matlab简明教程,有实例,简单易懂,能让你短时间内熟悉matlab的基本操作。

2013-03-06

空空如也

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

TA关注的人

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