P11 在用VC开发应用程序时,经常会要做一些可以改变大小的对话框,而这个时候就要求对话框上的控件会随着对话框大小的改变而改变自己的位置和大小。如果控件比较少,那可以在对话框的OnSize()事件里面添加代码,通过计算来调整各个控件的位置和大小;但是,如果对话框上的控件比较多的话,那这将是一件非常痛苦的事情!要是程序中又有很多可以改变大小的对话框,那一个一个的OnSize()写下来,那会使程序员崩溃的!
P9 VisualC++是开发ActiveX控件的强大工具,它的特点是开发周期短、便于使用,因此它已经成为开发ActiveX控件的主要工具之一。VisualC++集成开发环境,使用了微软自己的类库MFC,MFC对开发ActiveX控件提供了全面的支持,本文讲述的过程均在VisualC++6.0(以下简称VC)中实现。
P131 本章将讨论系统如何管理正在运行的所有应用程序。首先要解释什么是进程,以及系统如 何创建一个进程内核对象来管理每个进程。然后,我们要解释如何利用与一个进程关联的内核 对象来操纵该进程。接下来,我们要讨论进程的各种不同的属性(或特性),以及用于查询和 更改这些属性的几个函数。另外,还要讨论如何利用一些函数在系统中创建或生成额外的进程。 当然,最后还要讨论如何终止线程,这是讨论进程时必不可少的一个主题。
P 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。
P Microsoft Windows是一个基于Intel x86微处理芯片的个人计算机上的具有图形用户接口的多任务和多窗口的操作系统,它是对MS-DOS操作系统的扩展和延伸。与MS-DOS操作系统相比,它有许多优越之处:首先,它提供了比MS-DOS字符界面更为直观、友好的图形用户界面;其次,它可以一次运行多个程序,方便了用户的操作,提高了机器的利用率;再次,Windows环境下的应用程序具有一致的外观和用户接口,用户只需要熟悉其中一两个程序,就可以触类旁通学会使用别的Windows应用程序。另外,Windows还具有更好的虚拟内存管理和设备无关特性等等。由于Windows具有以上突出优点,Windows平台上的软件开发和程序设计已成主流。这一讲首先介绍Windows发展简史,然后分析Windows操作系统的特点以及Windows程序设计的关键概念,最后介绍Windows程序设计的过程及开发工具。
P32 本文主要讨论四个问题:为什么需要单元测试?怎样征服可测性难题?怎样才能高效率测试?怎样保证测试效果?重点阐述单元测试的关键问题,不是一般概念,适合于对单元测试有一定了解的读者。<br><br> 在选择工具和实施单元测试前,我们应该对相关理论有一个系统的了解,特别是将会遇到哪些难题,如何解决,要心里有数,否则的话,很可能劳民伤财,半途而废。如果只会测试加法函数或者三角形函数之类的独立小程序,就以为可以做单元测试了,那就像一个人刚学会走路,就去长途跋涉。
P 万变不离其宗,本书保持了前几版的特色,仍然是一部全面介绍 C++ 的教程。我们的目标是提供一本清晰、全面、准确的指南性读物。我们通过讲解一系列示例来教授 C++ 语言,示例除了解释语言特征外,还展示了如何善用这门语言。虽然读者不需要事先学过 C 语言(C++ 最初的基础)的知识,但我们假定读者已经掌握了一种现代结构化语言。
P186 这份电子书籍由PC Home俱乐部、C++ Bulider讨论区数位网友分别整理完成,基本上完全按照所据译本原貌,极少数文字为通顺起见稍作修改。
P
P5 插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。
P7 使用启动画面一是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);二是可以用来显示软件名称和版权等提示信息。怎样使用VC++制作应用程序的启动画面呢?本文提供四种方法,前三种适用于基于文档的应用程序,第四种适用于基于对话框的应用程序。
P247
P12 面向对象是C++的重要特性.但是c++在c的基础上新增加的几点优化也是很耀眼的就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重const1。
P19 singleton模式是最常用的设计模式之一,但要实现一个真正使用的设计模式却不是一件容易的事。
P25 壹——明晰C++内存分配的五种方法的区别在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。
P37 C++是以C语言为基础,支持数据抽象和面向对象的程序设计语言。C++对C语言的扩充部分汲取了许多著名语言中最优秀的特征,如从Algo168中吸取了操作符重载机制等。由于C++语言具有与C语言一样的高执行效率,并容易被熟悉C语言的软件人员接受,因而很快得以流行。但这种混合型面向对象的程序设计语言是一种新的程序设计语言,人们对它许多潜在的性能(封装、继承、多态等)还没有充分地理解和应用,没有充分发挥其优势。多态性是面向对象系统的重要概念之一,它指的是同样的消息能被发送到父类的对象和它的子类的对象。本文重点讨论多态性在程序设计中的应用。
P53
P81
P20
P10 网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。<br> 什么是Socket<br> Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。<br> Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的 Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket (SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。