C++
nevermorewish
这个作者很懒,什么都没留下…
展开
-
extern 总结
extern 在源文件A里定义的函数,在其它源文件里是看不见的(即不能访问)。为了在源文件B里能调用这个函数,应该在B的头部加上一个外部声明: extern 函数原型; 这样,在源文件B里也可以调用那个函数了。 注意这里的用词区别:在A里是定义,在B里是声明。一个函数只能(也必须)在一个源文件里被定义,但是可以在其它多个源文件里被声明。定义引起存储分配,是原创 2012-07-25 13:05:17 · 1124 阅读 · 1 评论 -
c++虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2013-05-15 13:38:25 · 602 阅读 · 0 评论 -
C++ 对象的内存布局(下)
C++ 对象的内存布局(下) 陈皓http://blog.csdn.net/haoel 重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还转载 2013-05-15 14:11:44 · 589 阅读 · 0 评论 -
sgi stl中list的sort函数实现
sgi stl中list的sort()函数内容如下:// list 不能使用STL 算法 sort(),必须使用自己的 sort() member function,// 因为STL算法sort() 只接受RamdonAccessIterator.// 本函式采用 quick sort.template void list::sort() {// 以下判断,如果是空白串行,或仅有一个转载 2013-03-22 12:58:04 · 811 阅读 · 0 评论 -
函数模板
强类型语言要求我们为所有希望比较的类型都实现一个实例: int min( int a, int b ) { return a } double min( double a, double b ) {转载 2013-03-13 10:00:57 · 666 阅读 · 0 评论 -
#、##和__VA_ARGS__
1.#假如希望在字符串中包含宏参数,ANSI C允许这样作,在类函数宏的替换部分,#符号用作一个预处理运算符,它可以把语言符号转化程字符串。例如,如果x是一个宏参量,那么#x可以把参数名转化成相应的字符串。该过程称为字符串化(stringizing).#incldue #define PSQR(x) printf("the square of" #x "is %d.\n",(x)*(x转载 2013-03-10 17:08:35 · 522 阅读 · 0 评论 -
《C专家编程》读书笔记
第一章 C 穿越时空的迷雾小即是美。事物发展都有个过程,由简入繁,不能一开始就想得太复杂,Multics, IBM的OS/360都是因此而失败。 C语言的许多特性是为了方便编译器设计者而建立的。 C编译器不曾实现的一些功能必须通过其他途径实现----标准I/O库和C预处理器。C预处理器主要实现以下3个功能l 字符串替换l 头文件包含l 通用代码模板的原创 2012-08-21 20:07:20 · 938 阅读 · 0 评论 -
C/C++static关键字详解(转自:帅得不敢出门 )
static关键字是C, C++中都存在的关键字, 它主要有三种使用方式, 其中前两种只指在C语言中使用, 第三种在C++中使用(C,C++中具体细微操作不尽相同, 本文以C++为准). (1)局部静态变量 (2)外部静态变量/函数 (3)静态数据成员/成员函数 下面就这三种使用方式及注意事项分别说明 一、局部静态变量 在C/C++中, 局部变量按照存储形式转载 2012-08-14 18:52:03 · 1367 阅读 · 0 评论 -
c++ new的用法
c++ new 用法 c++ 中new 的用户有 newoperator , operator new 和 placemenet new1 new operator如下代码:string *ps=new string("memory management");这里所使用的new就是所谓new operator,是由C++语言内建的,就像sizeof那样,不能改变意义,总转载 2012-07-28 23:46:23 · 6980 阅读 · 0 评论 -
struct总结
struct 定义在C++与C中的区别1,定义方式不同C中struct定义方式typedef struct tagS{//}S;在c中Struct是用户自定义数据类型(UDT)。c++中可以写成struct S{//};在c++中Struct是抽象数据类型(ADT),支持成员函数的定义。并且增加了访问权限原创 2012-07-25 19:37:44 · 1865 阅读 · 0 评论 -
关于c++ const的总结
转载地址http://blog.csdn.net/eric_jo/article/details/4138548 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。转载 2012-08-02 19:20:55 · 495 阅读 · 0 评论 -
C++ 对象的内存布局(上)
C++ 对象的内存布局(上) 陈皓http://blog.csdn.net/haoel 前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了转载 2013-05-15 14:10:46 · 602 阅读 · 0 评论