c++
peace2010
这个作者很懒,什么都没留下…
展开
-
C++ 存储类型
auto:采用堆栈方式分配内存空间,属于暂时性存储,其存储空间可以被若干变量多次覆盖使用。register:存放在通用寄存器中extern: 在所有函数和程序段中都可以引种static:在内存中是以固定地址存放的变量,在整个程序运行期间都有效。原创 2013-04-12 13:45:12 · 496 阅读 · 0 评论 -
生存期
静态生存期:包括全局变量,静态全局变量,静态局部变量。若没有初始化,系统自动给变量初始化为0.局部生存期:若没有初始化,系统随机分配初始值,具有不确定性。动态生存期:由new,delete或malloc,free创建和施放。原创 2013-04-12 13:53:26 · 499 阅读 · 0 评论 -
动态内存分配 new,delete
new 三种形式:1. 指针变量 = new 数据类型;2. 指针变量 = new 数据类型(初始值);3.指针变量=new 数据类型[元素个数];delete:1. delete 指针变量名2. delete[ ] 指针变量名; //用于释放new创建的数组的连续内存空间;原创 2013-04-12 17:48:40 · 739 阅读 · 0 评论 -
多态
多态类型:专用多态(重载多态,强制多态),通用多态(参数多态,包含多态)。重载多态:通过函数重载实现;强制多态:指一个变元的类型进行强制性改变,以符合某函数或者操作的要求。参数多态:与类模版直接相关,使用时必须赋予实际的类型才可以实例化;包含多态:不同的类中的同名函数的多态特性,主要通过虚函数继承实现。从实现的角度还可以分为:编译时的多态和运行时多态。原创 2013-04-12 17:55:40 · 555 阅读 · 0 评论 -
联编
联编就是在多态性的实现过程中,确定调用哪一个同名函数的过程,又称为“绑定”。静态联编:在编译阶段完成的联编方式。优点:函数调用速度快,效率高。不足:编程不够灵活。包括:函数重载和运算符重载等。重载多态,强制多态以及参数多态等都可以通过静态联编实现。动态联编:只有在运行时才确定将要调用哪一个函数。通过继承和虚函数实现。静态联编的例子:#include clas原创 2013-04-12 18:24:23 · 643 阅读 · 0 评论 -
模板
模板类型: 函数模板,类模板。函数模板定义:template 返回值类型 函数名(参数表){函数体}形参表的每一项均由关键字 class 或 typename引导的用户命名的标识符。eg. template T abs(T a){return a }template T max(T x, T y){ return原创 2013-04-15 10:19:49 · 638 阅读 · 0 评论 -
函数指针
返回值 (*funPtr)(参数列表);将一个函数的地址初始化或赋值给一个指向函数的指针时,无需显示地取得函数地址,编译器知道隐式的获得函数的地址。因此&通常省略不用。类似地,为了调用函数指针所指向的函数而对指针进行解引用操作也是不必要的,编译器可以帮助你解引用。eg. void (*fp) (int);extern void h (int);fp = h; // ok原创 2013-04-15 16:38:24 · 497 阅读 · 0 评论 -
Template Method模式(模板方法模式)
模板方法模式和C++模板一点关系都没有。模板方法确立了其实现的整体架构,同时将部分实现延迟到派生类中进行。通常来说,Template Method为一个公有的非虚拟函数,它调用被保护的虚函数。派生类必须接受它所继承的非虚基类函数所指明的全部实现,同时还可以通过重写该公有函数所调用的被保护的虚函数,以有限的方式来定制其行为。eg. class App{ public: v转载 2013-04-16 10:37:59 · 573 阅读 · 2 评论 -
新型转型操作符
c中的旧式转型:char* hopeItWorks = (char*) 0x00ff0000;C++的转型(函数形式):typedef char* PChar;hopeItWorks = PChar(0x00ff0000);4个新式转型操作符:1. const_cast 允许添加或移除表达式中类型的const 或volatile修饰符。con原创 2013-04-15 15:14:22 · 660 阅读 · 0 评论