- 博客(4)
- 收藏
- 关注
转载 抛出异常与栈展开(stack unwinding)
抛出异常时,将暂停当前函数的执行,开始查找匹配的catch子句。首先检查throw本身是否在try块内部,如果是,检查与该try相关的catch子句,看是否可以处理该异常。如果不能处理,就退出当前函数,并且释放当前函数的内存并销毁局部对象,继续到上层的调用函数中查找,直到找到一个可以处理该异常的catch。这个过程称为栈展开(stack unwinding)。当处理该异常的catch结束之后,紧接
2016-03-23 10:24:02 430
转载 C与C++程序的启动代码(startup)
C或者C++语言,明面上的入口函数是main(argc,argv),或者tmain、wmain、WinMain等等。进一步,很容易获知,是C Runtime的startup代码中的void mainCRTStartup(void)函数,调用了编程者写的main函数。这个函数定义在Visual C++安装目录的crt\src\目录下的某个.c文件中(视VC++的版本不同,存放的文件也不同
2016-03-18 10:21:54 4355
转载 windows下system函数返回值
在DOS下,system()只是做一个调用其他程序的工作,只要调用成功就返回0,不成功就返回-1。它不能得到被调用的程序的执行结果。要得到其他程序的执行的结果,要用spawn***()这个家族的函数。Linux和Windows中system的不同之处在于:如果子程序调用成功,但执行失败时,Linux下的system函数返回该子进程的返回值,而Windows下的sys
2016-03-09 13:53:35 8233
转载 C++的精髓——虚函数
虚函数为了重载和多态的需要,在基类中是由定义的,即便定义是空,所以子类中可以重写也可以不写基类中的函数!虚函数在基类中是没有定义的,必须在子类中加以实现,很像java中的接口函数!虚函数引入原因:为了方便使用多态特性,我们常常需要在基类中定义虚函数。class Cman{public:virtual void Eat(){……};void Move();priv
2016-03-09 10:50:47 393
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人