摘要: C++语言的运行时环境是基于栈的环境,堆栈跟踪(trace stack)就是程序运行时能够跟踪并打印所调用的函数、变量及返回地址等,C++异常中的堆栈跟踪就是当程序抛出异常时,能够把导致抛出异常的语句所在的文件名和行号打印出来,以及把调用抛出异常的语句的函数以及其它上层函数信息都打印出来。
阅读全文
posted @
2008-11-03 13:25 Carrie 阅读(254) |
评论 (0) |
编辑 收藏
摘要: 我在几个不同的地方读过有关STL的内容,但还是不知道在我的应用程序中到底是用STL还是用MFC?我的程序也处理string,vectors等东西。使用STL和MFC到底有什么不同?
阅读全文
posted @
2008-10-31 21:35 Carrie 阅读(164) |
评论 (0) |
编辑 收藏
摘要: 1.介绍一下STL,具体说明STL如何实现vector。
Answer:
STL (标准模版库,Standard Template Library.它由容器算法迭代器组成。
STL有以下的一些优点:
可以方便轻易地实现搜索数据或对数据排序等一系列的算法;调试程序时更加安全和方便;即使是人们用STL在UNIX平台下写的代码你也可以很轻易地理解(因为STL是跨平台的)。
vector实质上就是一个动态数组,会根据数据的增加,动态的增加数组空间。
阅读全文
posted @
2008-10-31 20:29 Carrie 阅读(88) |
评论 (0) |
编辑 收藏
摘要: 一 迭代器(iterator)
迭代器:
迭代器是类似指针的对象,STL算法利用它们对存储在容器中的对象序列进行遍历。
5种类别:1、输入迭代器
2、输出迭代器
3、前向迭代器
4、双向迭代器
5、随机访问迭代器
阅读全文
posted @
2008-10-31 20:22 Carrie 阅读(203) |
评论 (0) |
编辑 收藏
摘要: 编译参数的设置。主要通过IDE的菜单项Project->Settings->C/C++页来完成。我们可以看到这一页的最下面Project Options中的内容,一般如下:
/nologo /MDd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_AFXDLL" /D "_M
BCS" /Fp"Debug/WritingDlgTest.pch" /Yu"stdafx.h" /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
各个参数代表的意义,可以参考Msdn。比如/nologo表示编译时不在输出窗口显示这些设置(我们可以把这个参数去掉来看看效果)等等。一般我们不会直接修改这些设置,而是通过这一页最上面的Category中的各项来完成。
阅读全文
posted @
2008-10-30 22:05 Carrie 阅读(136) |
评论 (0) |
编辑 收藏
摘要: STL概述
STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。
阅读全文
posted @
2008-10-30 21:51 Carrie 阅读(254) |
评论 (0) |
编辑 收藏
摘要: 怎样进有密码的Windows XP系统?是啊,怎样进?我在这里看到有很多朋友提出这个问题,
今天在网上搜索有点幸运找到了这篇文章,我觉得还可以,把它介绍出来,希望对大家有点
帮助。
阅读全文
posted @
2008-10-30 15:10 Carrie 阅读(237) |
评论 (0) |
编辑 收藏
摘要: DOS命令大全
一)MD——建立子目录
1.功能:创建新的子目录
2.类型:内部命令
3.格式:MD[盘符:][路径名]〈子目录名〉
4.使用说明:
(1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;
(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。
例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。
阅读全文
posted @
2008-10-30 15:07 Carrie 阅读(142) |
评论 (0) |
编辑 收藏
摘要: 首先,需要澄清读者对于文件系统的一些错误理解,经常有这样的说法,“我的硬盘是FAT32格式的”,“C盘是NTFS格式”等,它们的错误在于,NTFS或是FAT32并不是格式,而是管理文件的系统,其次刚买回来的硬盘并没有文件系统,必须使用FDISK或Windows 2000/XP的分区工具等对其进行分区并格式化后才会有管理文件的系统,因此文件系统是对应分区的,而不是硬盘,不管是将硬盘分成一个分区,还是几个分区。
举个通俗的比喻,一块硬盘就像一个块空地,文件就像不同的材料,我们首先得在空地上建起仓库(分区),并且指定好(格式化)仓库对材料的管理规范(文件系统),这样才能将材料运进仓库保管。
阅读全文
posted @
2008-10-30 12:46 Carrie 阅读(218) |
评论 (0) |
编辑 收藏
摘要: 构造函数不能声明为虚函数的原因是:
解释一:所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造函数将被覆盖,也即不能完成父类的构造.就会出错.
解释二:虚函数的主要意义在于被派生类继承从而产生多态. 派生类的构造函数中, 编译器会加入构造基类的代码, 如果基类的构造函数用到参数, 则派生类在其构造函数的初始化列表中必须为基类给出参数, 就是这个原因.
析构函数设为虚函数的作用:
解释:在类的继承中,如果有基类指针指向派生类,那么用基类指针delete时,如果不定义成虚函数,派生类中派生的那部分无法析构。
阅读全文
posted @
2008-10-30 12:40 Carrie 阅读(192) |
评论 (0) |
编辑 收藏