软件开发理论
文章平均质量分 84
chshji666666
这个作者很懒,什么都没留下…
展开
-
C++知识点
1. 以下三条输出语句分别输出什么?[C易]char str1[] = "abc";char str2[] = "abc";const char str3[] = "abc"; const char str4[] = "abc"; const char* str5 = "abc";const char* str6 = "abc";cout cout cout 答:分别输出false,false,true。str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区原创 2011-05-13 16:52:00 · 306 阅读 · 0 评论 -
深入理解C++的动态绑定和静态绑定
<br />为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误。<br />需要理解四个名词:<br />1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。<br />2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。<br />关于对象的静态类型和动态类型,看一个示例:<br />view plaincopy to clipboardprint?<br />01.class原创 2011-05-22 19:45:00 · 188 阅读 · 0 评论 -
一些软件设计的原则
以前本站向大家介绍过一些软件开发的原则,比如优质代码的十诫和Unix传奇(下篇)中所以说的UNIX的设计原则。相信大家从中能够从中学了解到一些设计原理方面的知识,正如我在《再谈“我是怎么招聘程序”》中所说的,一个好的程序员通常由其操作技能、知识水平,经验层力和能力四个方面组成。在这里想和大家说说设计中的一些原则,我认为这些东西属于长期经验总结出来的知识。这些原则,每一个程序员都应该了解。但是请不要教条主义,在使用的时候还是要多多考虑实际情况。下面这些原则,不单单只是软件开发,可以推广到其它生产活动中,甚至我原创 2011-04-26 16:56:00 · 290 阅读 · 0 评论 -
基于C语言的Windows服务程序编写步骤
Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的原创 2011-08-09 21:28:23 · 277 阅读 · 0 评论 -
win32线程池代码(WinApi/C++)
/******************************************************************* Thread Pool For Win32 * VC++ 6, BC++ 5.5(Free), GCC(Free)* Upd原创 2011-09-06 22:26:05 · 380 阅读 · 0 评论 -
stl容器区别: vector list deque set map-底层实现
在STL中基本容器有: vector、list、deque、set、mapset 和map都是无序的保存元素,只能通过它提供的接口对里面的元素进行访问set:集合, 用来判断某一个元素是不是在一个组里面,使用的比较少map:映射,相当于字典,把一个值映射成另一个值,如果想创建字典的话使用它好了底层采用的是树型结构,多数使用平衡二叉树实现,查找某一值是常数时间,遍历起来效果也不错,原创 2011-11-23 21:36:20 · 300 阅读 · 0 评论 -
单链表的快速排序
单链表的快排序和数组的快排序基本思想相同,同样是基于划分,但是又有很大的不同:单链表不支持基于下标的访问。故书中把待排序的链表拆分为2个子链表。为了简单起见,选择链表的第一个节点作为基准,然后进行比较,比基准小得节点放入左面的子链表,比基准大的放入右边的子链表。在对待排序链表扫描一遍之后,左边子链表的节点值都小于基准的值,右边子链表的值都大于基准的值,然后把基准插入到链表中,并作为连接两个子链表的原创 2011-11-23 21:37:07 · 331 阅读 · 0 评论