- 博客(19)
- 资源 (12)
- 收藏
- 关注
转载 c++ 异常处理
c++ 异常处理译自 c++ complete refrence 3rd Chapter 38标准c++库定义了两个与异常相关的库,和。异常通常用来报告错误。定义了与异常处理相关的类,声明和函数。class exception {public:exception() throw();exception(const char *
2014-04-29 16:40:20 819
转载 自定义C++异常处理
例1:自定义一个继承自excepton的异常类myExceptionC++标准中,定义在中的任何异常类都派生自exception Class,本例也只是简单地由exception继承,在try段抛出一个异常并捕捉。代码如下:/*++ test.cpp version:1.0 decript:define a exception class named myExcep
2014-04-29 16:20:02 1137
转载 C++的四种强制类型转换
C++的四种强制类型转换,所以C++不是类型安全的。分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast为什么使用C风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的C++类型的强制转换呢?新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是stat
2014-04-27 09:51:28 718
转载 虚函数表
虚函数 C++中的虚函数的实现一般是通过虚函数表(C++规范并没有规定具体用哪种方法,但大部分的编译器厂商都选择此方法)。类的虚函数表是一块连续的内存,每个内存单元中记录一个JMP指令的地址。注意的是,编译器会为每个有虚函数的类创建一个虚函数表,该虚函数表将被该类的所有对象共享。类的每个虚成员占据虚函数表中的一行。如果类中有N个虚函数,那么其虚函数表将有N*4字节的大小。虚函
2014-04-27 09:31:05 712
转载 setjump和longjump
int setjmp( jmp_buf env );void longjmp( jmp_buf env, int value ); # setjmp(j)设置“jump”点,用正确的程序上下文填充jmp_buf 对象j。这个上下文包括程序存放位置、栈和框架指针,其它重要的寄存器和内存数据。当初始化完jump 的上下文,setjmp()返回0 值。对setjmp函数的调用时,
2014-04-27 09:16:39 995
转载 C/C++中的运算符优先级总结
C语言中的运算符说明运算符结合性初等运算符() [] -> .->单目运算符! ~ ++ -- - (类型) * & sizeof算术运算符* / %->算术运算符+ -->移位运算符>->
2014-04-22 12:17:39 896
转载 C++异常处理机制详解
C++异常处理机制详解(2012-04-15 22:24:56)异常处理是一种允许两个独立开发的程序组件在程序执行期间遇到程序不正常的情况(异常exception)时相互通信的机制。本文总结了19个C++异常处理中的常见问题,基本涵盖了一般C++程序开发所需的关于异常处理部分的细节。 1. throw可以抛出哪些种类的异常对象?如何捕获?1)异常对象通常是一个c
2014-04-20 11:53:08 1215
转载 c++异常处理机制示例及讲解
这两天我写了一个测试c++异常处理机制的例子,感觉有很好的示范作用,在此贴出来,给c++异常处理的初学者入门。本文后附有c++异常的知识普及,有兴趣者也可以看看。 下面的代码直接贴到你的console工程中,可以运行调试看看效果,并分析c++的异常机制。 #include "stdafx.h" #include #i
2014-04-20 11:47:35 1110
转载 C++的营养
上一篇《C++的营养——RAII》中介绍了RAII,以及如何在C#中实现。这次介绍另一个重要的基础技术——swap手法。swap手法 swap手法不应当是C++独有的技术,很多语言都可以实现,并且从中得到好处。只是C++存在的一些缺陷迫使大牛们发掘,并开始重视这种有用的手法。这 个原本被用来解决C++的资源安全和异常保证问题的技术在使用中逐步体现出越来越多的应用,有助于我
2014-04-16 22:39:04 811
转载 c++中new和delete的使用方法
new和delete运算符用于动态分配和撤销内存的运算符new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址.int *a = new int 即为将一个int类型的地址赋值给整型指针a. 2)int *a =
2014-04-16 20:26:54 767
转载 Linux下nm和ldd 命令
1. Linux nm 命令nm [‘-a’|‘--debug-syms’] [‘-g’|‘--extern-only’][‘-B’] [‘-C’|‘--demangle’[=style]] [‘-D’|‘--dynamic’][‘-S’|‘--print-size’] [‘-s’|‘--print-armap’][‘-A’|‘-o’|‘--print-file-name’][‘-
2014-04-10 17:04:46 1125
转载 C/C++中extern关键字详解
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数名而
2014-04-10 14:08:21 645
转载 有关fwrite语句的用法
一:函数名: fwrite 功 能: 写内容到流中 用 法:fwrite(buffer,size,count,fp); (1)buffer:是一个指针,对fwrite来说,是要输出数据的地址。 (2)size:要写入的字节数; (3)count:要进行写入size字节的数据项的个数; (4)fp:目标文件指针。 程序例:#include std
2014-04-09 11:33:43 5611
转载 用GDB调试程序
GDB概述————GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。一般来说,GDB主要帮忙你完成下面四个方面的功能: 1、启动你的程序,可
2014-04-07 16:57:41 655
转载 va_start、va_end、va_list的使用
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...); 2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:#include void fun(int a, ...){int *temp = &a;temp++;for (i
2014-04-07 15:56:55 773
转载 C语言文件操作函数大全
clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include 定义函数 void clearerr(FILE * stream); 函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。 返回值 fclose(关闭文件) 相关函数 close,fflush,fopen,setbuf 表头文件 #includ
2014-04-07 10:46:07 758
转载 C语言main()函数详解
C的设计原则是把函数作为程序的构成模块。main()函数称之为主函数,一个C程序总是从main()函数开始执行的。一、main()函数的形式在最新的 C99 标准中,只有以下两种定义方式是正确的:int main( void ) /* 无参数形式 */{ ... return 0;}int main( int argc, char *argv[
2014-04-04 10:50:53 1151
原创 约瑟夫环
约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。分析:有n个人,要想所有的人都退出去,只有每个人喊到m,才可以退完,所以可以算出,n*m为所有人总共报数的总次数。代码:/* * 约瑟
2014-04-03 20:33:51 917
转载 怎样花两年时间去面试一个人
Joel Spolsky曾经感叹:招聘难,难于上青天(此处笔者稍加演绎:))。他有两个辛辣但不乏洞察力的断言:真正的牛人也许一辈子就投大概4次简历,这些家伙一毕业就被好公司抢走了,并且他们的雇主会给他们不赖的待遇,所以他们也不想挪窝。(刚刚去世的Dennis Ritchie就是这样一个人)而“人才”市场上能找到的大多都不是什么人才。招到这帮人轻则费钱重则把你公司搞挂。(当我把这篇文章给
2014-04-01 21:51:01 761
commons-beanutils等JAVA类库
2013-10-05
DFS和BFS用来干什么
2013-05-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人