- 博客(6)
- 资源 (8)
- 问答 (2)
- 收藏
- 关注
原创 C/C++中的内联函数和宏定义区别
内联函数和宏的区别在于,宏是由预处理器对宏进行替代,而内联函数是通过编译器控制来实现的。而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。你可以象调用函数一样来调用内联函数,而不必担心会产生于处理宏的一些问题。(但节约时间的同时增加了空间的消耗)我们用inline来定义内联函数,在C++中,在类的声明部分定义了函数体的函数,被默认为是内联函数。而不管你是否有inline关键字。(不过编译器会决定要不要将它内联)。我们也可以将定义在类的外部
2016-10-26 16:52:53 2044
原创 C/C++的八种排序算法及实现
几个基本常见的排序,插入排序 (包括 直接插入,希尔插入,折半插入等),交换排序(包括 冒泡排序,快速排序) ,选择排序(简单选择,堆排序,树形排序等),归并排序,基数排序(多关键字,链式基数)。
2016-10-08 22:43:10 16297 4
转载 C++多线程--线程间通信与线程同步
线程的同步 :虽然多线程能给我们带来好处,但是也有不少问题需要解决。例如,对于像磁盘驱动器这样独占性系统资源,由于线程可以执行进程的任何代码段,且线程的运行是由系统调度自动完成的,具有一定的不确定性,因此就有可能出现两个线程同时对磁盘驱动器进行操作,从而出现操作错误;又例如,对于银行系统的计算机来说,可能使用一个线程来更新其用户数据库,而用另外一个线程来读取数据库以响应储户的需要,极有可能读数据库的线程读取的是未完全更新的数据库,因为可能在读的时候只有一部分数据被更新过。使隶属于同一进程的各线程协调一致地工
2016-10-27 17:11:42 18632
原创 套接字通信中的IO的select模式
关于IO的select模式。先说下阻塞和非阻塞模式。阻塞模式下,如果直接调用recv从指定的SOCKET读取数据,如果还没有接受到来自连接的套接字的数据,函数recv会一直阻塞在那里,直到有数据可以读出为止,才返回。而非阻塞模式下,不管有没有数据可读,recv函数会立即返回,如果此时没有数据到达,该函数调用必然失败,返回值为WSAEWOULDBLOCK,表明当前状态是非阻塞模式的调用,且没有数据到达。这时,通常的做法是,创建一个独立的线程调用recv判断返回值(如果是WSAEWOULDBLOCK)进行循
2016-10-24 20:51:06 875
原创 一副扑克牌的随机发牌
这是一副牌斗地主的发牌(54张加了大小王)//定义一个结构体,然后定义一个该结构体的数组Card[54](大写的),存储扑克牌(这个存储的是字符串) //定义一个int类型的card[54](小写的),来表示扑克牌,比如105,1代表花色(红桃),05代表面值5 //再比如313,就是方块K,401就是梅花A
2016-10-24 16:34:51 2900
nsi打包程序
2017-06-30
SCORM标准课件制作和学习资料
2016-08-09
急求!MFC中几个对话框共用一个套接字
2016-11-05
ASP.NET项目连接SQL server数据库问题
2016-08-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人