结构体和类
时至今日,编程教材推荐面向对象编程,作为使软件更清晰及模块化的一种手段。所谓的对象是结构体及类的实例。面向对象编程形式对程序性能有积极与消极的影响。
积极的影响有:
- 一起使用的变量也保存在一起,如果它们是结构体或类的成员。这使得数据缓存更高效。
- 作为类成员的变量无需作为参数传递给类成员函数。这些变量避免了参数传递的开销。
消极影响有:
- 一些程序员把代码分到太多的小的类中。这是低效的。
- 非static成员函数有作为一个隐含参数传递的this指针。增加了参数传递的开销。
- this指针占据一个寄存器。在32-bit系统中,寄存器是稀缺资源。
- 虚拟成员函数效率较低。
类数据成员
在创建一个类或结构体的实例时,类或结构体的数据成员以它们声明的次序连续储存。把数据组织成类或结构体没有性能上的损最常
虚函数
虚函数用于实现多态类。多态类的每个实例有一个指针,指向虚表。虚表里存放指向不同版的本虚函数的指针。这个所谓的虚表
运行时类型识别(RTTI)
运行时类型识别对需要对所有的类对象添加额外的信息,是低效的。如果编译器有用于RTTI的一个选项,关闭它,使用其他方式实现。
继承
派生类的一个对象实现的方式与包含父类与子类成员的简单类的一个对象相同。父类与子类成员的访问一样快。通常,你可以假
通常,应该只在对程序逻辑结构有益时使用继承。
构造函数与析构函数
构造函数在内部被实现为一个返回该对象引用的成员函数。新对象的内存分配不一定由构造函数本身来完成。因此,构造函数与
欢迎交流