banner

影响是,由于高速缓存的存在,在进行性能测试时,一个函数运行于整个程序的上下文中时的执行速度可能是运行于测试套件中时的万分之一。当运行于整个程序的上下文中时,函数和它的数据不太可能存储至缓存中,而在测试套件的上下文中,它们则通常会被缓存起来。这个影响放大了减少内存或磁盘使用量带来的优化收益,而减小代码体积的优化收益则没有任何变化。

第二个影响则是,如果一个大程序访问许多离散的内存地址,那么可能没有足够的高速缓存来保存程序刚刚使用的数据。这会导致一种性能衰退,称为页抖动 (page thrashing)。当在微处理器内部的高速缓存中发生页抖动时,性能会降低;当在操作系统的虚拟缓存文件中发生页本章,读者将了解到如何使用if、if else和switch语句及条件操作符来控制程序流程,学习如何使用逻辑操作符来表达决策测试。另外,本章还将介绍确定字符关系(如测试字符是数字还是非打印字符)的函数库cctype。最后,还将简要地介绍文件输入/输出。

tips

第7章:函数——C++的编程模块

函数是C++的基本编程部件。本章重点介绍C++函数与C函数共同的特性。具体地说,读者将复习函数定义的通用格式,了解函数原型是如何提高程序可靠性的。同时,还将学习如何编写函数来处理数组、字符串和结构。还要学习有关递归的知识(即函数在什么情况下调用自身)以及如何用它来实现分而治之的策略。最后将介绍函数指

{

Node *p=m_header;

while(p->next) //定位到最后一个结点

{

p=p->next;

}

p->next=node;

node->next=0;

return true;

}

Node *pi=m_header; //定位到链表头

Node *p_ahead;  //记录第i个结点的前驱地址

for(int i=1;i<=k;i++) //通过循环定位到第k个元素

{

p_ahead=pi;

pi=pi->next; //第i个结点地址

}

//现在pi就