摘要: 尽管C++ 野指针和内存泄漏一直被诟病,但是在实时性很强的应用场合,c++ 仍然是不二之选。游戏服务器开发仍然使用c++ 作为主语言,但是大多结合动态脚本技术,一方面规避了野指针和内存泄露,一方面获得了开发效率和扩展性的红利。但脚本技术不是本文的讨论重点,事实上关于c++ 与 lua的技术文章我也一直在整理中,将会另文别述。今天主要说说在使用c++过程中,如何避免和解决野指针和内存泄漏问题。野指针: 野指针的出现会导致程序崩溃,这是每个人都不愿意看到的。Linux会生成coredump文件,可用gdb分析。Win下可以注册unexception获取调用堆栈,将错误信息写到文件中。先分析一下通. 阅读全文
posted @ 2012-12-23 16:47 梓涵VV 阅读(257) 评论(0) 推荐(0)
摘要: 本文来自与:http://www.cnblogs.com/hxsyl/ 的博客 1 //正序打印自然数 0 -9 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 6 void fun(int begin,int end) 7 { 8 cout<<begin<<" "; 9 if(begin!=end)//写成begin<end会更好 10 fun(begin+1,end); 11 } 12 int main() 13 { 14 int 阅读全文
posted @ 2012-12-23 16:43 梓涵VV 阅读(230) 评论(6) 推荐(0)
摘要: 针对现实中的排序问题,算法有七把利剑可以助你马道成功。首先排序分为四种: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包括直接插入排序,希尔排序。 合并排序: 合并排序。那么今天我们讲的就是交换排序,我们都知道,C#类库提供的排序是快排,为了让今天玩的有意思点,我们设计算法来跟类库提供的快排较量较量。争取KO对手。冒泡排序:首先我们自己来设计一下“冒泡排序”,这种排序很现实的例子就是:我抓一把沙仍进水里,那么沙子会立马沉入水底,沙子上的灰尘会因为惯性暂时沉入水底,但是又会立马像气泡一样浮出水面,最后也就真相大白咯。关于冒泡的思想,我... 阅读全文
posted @ 2012-12-19 17:49 梓涵VV 阅读(306) 评论(0) 推荐(0)
摘要: 一. 背景刷成黑色,前景色设为白色。 方法一、paltette方式,经测试,该方法不会影响到其他控件,推荐使用 QPalette bgpal = palette();bgpal.setColor (QPalette::Background, QColor (0, 0 , 0, 255));//bgpal.setColor (QPalette::Background, Qt::transparent);bgpal.setColor (QPalette::Foreground, QColor (255,255,255,255)); setPalette (bgpal);方法二、stylesheet 阅读全文
posted @ 2012-12-19 16:23 梓涵VV 阅读(1759) 评论(0) 推荐(0)
摘要: 转载自:http://www.cnblogs.com/highend/archive/2012/12/03/centos_6_3_x86_64_install.html#2569211感谢该园园主I:下载CentOS 6.3楼主已经从CentOS官方公布下载列表当中整理出了2个在国内的下载地址,这样就不需要为访问墙外的龟速网络而费心了。32位:下载地址1,下载地址264位:下载地址1,下载地址2这里我们开始了解一下LiveCD: Live CD,又译为自生系统,是事先存储于某种可移动存储设备上,可不特定于计算机硬件(non-hardware-specific)而启动的操作系统(通常亦包括一些其 阅读全文
posted @ 2012-12-19 15:34 梓涵VV 阅读(411) 评论(0) 推荐(0)
摘要: 一、局域网的特征: 局域网分布范围小,投资少,配置简单等,具有如下特征: 1.传输速率高:一般为1Mbps--20Mbps,光纤高速网可达100Mbps,1000MbpS 2.支持传输介质种类多。 3.通信处理一般由网卡完成。 4.传输质量好,误码率低。 5.有规则的拓扑结构。 二、局域网的组成: 局域网一般由服务器,用户工作站,传输介质四部分组成。 1.服务器: 运行网络0S,提供硬盘、文件数据及打印机共享等服务功能,是网络控制的核心。 从应用来说较高配置的普通486以上的兼容机都可以用于文件服务器,但从提高网络... 阅读全文
posted @ 2012-12-17 08:15 梓涵VV 阅读(1905) 评论(0) 推荐(0)
摘要: http://blog.sina.com.cn/s/blog_6a1e0bf30100zjk1.html里面的几个例子感觉不错,非常实用!就转载过来了! 阅读全文
posted @ 2012-12-14 11:10 梓涵VV 阅读(862) 评论(0) 推荐(0)
摘要: 说到QTableWidget,就必须讲一下它跟QTabelView的区别了。QTableWidget是QTableView的子类,主要的区别是QTableView可以使用自定义的数据模型来显示内容(也就是先要通过setModel来绑定数据源),而QTableWidget则只能使用标准的数据模型,并且其单元格数据是QTableWidgetItem的对象来实现的(也就是不需要数据源,将逐个单元格内的信息填好即可)。这主要体现在QTableView类中有setModel成员函数,而到了QTableWidget类中,该成员函数变成了私有。使用QTableWidget就离不开QTableWidgetIt 阅读全文
posted @ 2012-12-13 19:40 梓涵VV 阅读(2225) 评论(0) 推荐(0)
摘要: 时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。 (2)时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。 一般情况下,算法中基本操作重复执行的次数是问题规模n的某 阅读全文
posted @ 2012-12-09 22:47 梓涵VV 阅读(285) 评论(0) 推荐(0)
摘要: 1.简单的define定义#define MAXTIME 10002.define的“函数定义”define可以像函数那样接受一些参数,如下#define max(x,y) (x)>(y)?(x):(y);因为这个“函数”没有类型检查,就好像一个函数模板似的,没有模板那么安全就是了。但是这样做的话存在隐患,例子如下:#define Add(a,b) a+b;如果遇到如:c * Add(a,b) * d的时候就会出现问题。另外举一个例子:#define pin (int*);pin a,b;本意是a和b都是int型指针,但是实际上变成int* a,b;a是int型指针,而b是int型变量。 阅读全文
posted @ 2012-12-09 22:46 梓涵VV 阅读(1266) 评论(0) 推荐(0)