c/c++
zhujunwsk
这个作者很懒,什么都没留下…
展开
-
标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
C 风格(C-style)强制转型如下: (T) expression // cast expression to be of type T 函数风格(Function-style)强制转型使用这样的语法: T(expression) // cast expressi转载 2011-09-01 13:43:44 · 295 阅读 · 0 评论 -
一劳永逸:关于C/C++中指针、数组与函数复合定义形式的直观解释
[标题] char *(*(**(*(*(*x[5])(int,float))[][12])(double))(short,long))[][173] ?!今天又捧起久违的K&R C拜读了一遍。其实有点东西在6年前就想写,借着今天这个机会,终于把它写出来了。初看一眼标题中的变量定义感觉是不是很抓狂?:)一直以来,C语言中关于指针、数据和函数的复合定义都是一个难点,其实,理解转载 2010-03-21 00:48:00 · 537 阅读 · 0 评论 -
C++空类默认函数
定义一个空的C++类,例如 class Empty { } 一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于 class Empty { public: Empty(); // 缺转载 2011-08-09 12:39:31 · 410 阅读 · 0 评论 -
实现一个无法被继承的C++类
一个类不能被继承,也就是说它的子类不能构造父类,这样子类就没有办法实例化整个子类从而实现子类无法继承父类。我们可以将一个类的构造函数声明为私有,使得这个类的构造函数对子类不可见,那么这个类也就不能继承了。但是,这引出一个问题,客户程序岂不是也无法实例化这个类了?OK,让我们参考一转载 2011-08-09 12:48:14 · 240 阅读 · 0 评论 -
堆排序
一、要实现堆排序首先要理解堆相关的一些重要概念。 (1)什么是堆,堆于优先队列的关系? 堆实际上是优先队列数据结构的实现,也可以说,堆是具有优先队列性质的容器实现。 优先队列是允许下面两个操作的数据结构: Insert Del转载 2011-08-09 11:57:58 · 395 阅读 · 0 评论 -
C语言异常处理机制——为您的C程序添加异常处理
1、什么是异常 异常一般指的是程序运行期(Run-Time)发生的非正常情况。 异常一般是不可预测的,如:内存不足、打开文件失败、范围溢出等。 UNIX 使用信号给出异常,并当发生异常时转跳到信号处理过程进行异常处理。DOS下的信号对比UNIX系统而已相对较少。 C标准库提供两个特殊的函数:setjmp() 及 longjmp转载 2012-01-05 16:07:37 · 464 阅读 · 0 评论 -
C++语言的15个晦涩特性
这个列表收集了 C++ 语言的一些晦涩(Obscure)特性,是我经年累月研究这门语言的各个方面收集起来的。C++非常庞大,我总是能学到一些新知识。即使你对C++已了如指掌,也希望你能从列表中学到一些东西。下面列举的特性,根据晦涩程度由浅入深进行排序。 1. 方括号的真正含义2. 最烦人的解析3.替代运算标记符4. 重定义关键字5. Placement new6.在声明变量的同时进行分支7.转载 2014-01-08 19:57:14 · 562 阅读 · 0 评论