第6章_数据存储分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 6.4.1 引用的概念和声明 引用就是别名,变量的引用就是变量的别名,对引用的操作就是对所引用变量的操作。 引用的声明形式为: 数据类型 引用名=变量名; 建立引用时,必须用已知变量名为其初始化,表示该引用就是该变量的别名。是引用运算符,作用于引用名,表示紧随其后的是一个引用。例如,要同时定义两个int型引用r1和r2,必须写成如下形式: int a,b; int r1=a, r2=b; 6.4 引用、引用与函数 * 如果写成: int r1=a, r2=b; 则表示定义了一个引用r1和一个普通变量r2。 一个引用所引用的对象初始化后就不能修改。另外,引用就是一个别名,声明引用不会再为其分配内存空间,而是与所引用对象对应同一片内存空间。因此,对引用的操作与对所引用对象的操作效果完全一样。例如: int a=5, b=10; int r=a;//r是a的引用 r=b; //将b的值赋给r。因为r是a的引用,所以相当于将 //b的值赋给a 6.4 引用、引用与函数 * 也可以为指针变量声明引用,其声明形式为: 数据类型 *引用名=指针变量名; 在实际应用时,引用主要是用在函数中,一方面可以将函数的形参声明为引用,另一方面可以将函数的返回类型声明为引用。 6.4 引用、引用与函数 * 6.4.2 函数的引用调用 将函数的形参声明为引用主要起到以下两方面的作用。 1. 通过引用调用更改实参变量的值 前面学习了函数的传值调用,在传值调用方式下,参数的传递为单向传值,即实参值传递给形参后,形参值在函数中的变化对实参值无任何影响。 【例6-15】函数的传值调用。 参考程序如下: #include iostream using namespace std; void swap(int a, int b); 6.4 引用、引用与函数 * int main() { int x=5, y=10; cout交换前,x=x,y=yendl; swap(x, y); cout交换后,x=x,y=yendl; return 0; } void swap(int a, int b) { int t=a; a=b; b=t; } 6.4 引用、引用与函数 * 传值调用方式并不能改变实参的值。因此,在上面的程序中,调用swap()函数后,实参x和y的值不会改变,仍然为5和10。 为了能够在函数内部更改实参的值,可以使用引用调用方式。 【例6-16】函数的引用调用。 参考程序如下: #include iostream using namespace std; void swap(int a, int b); 6.4 引用、引用与函数 * int main() { int x=5, y=10; cout交换前,x=x,y=yendl; swap(x, y); cout交换后,x=x,y=yendl; return 0; } void swap(int a, int b) { int t=a; a=b; b=t; } 6.4 引用、引用与函数 * 在引用调用方式下,形参值的变化会直接影响到相应的实参值。因此,在上面的程序中,调用swap()函数后,实参x和y的值会交换,变为10和5。出现这种现象的原因可以这样理解: 对于引用调用方式,程序将实参值传递给形参时会执行 int a=x; int b=y; 可以看出,形参a、b是实参x、y的别名,因此,对形参a、b所做的操作就是对实参x、y的操作。 6.4 引用、引用与函数 * 再如: void StudentInfoInput(Student stu) { cinstu.numstu.namestu.score; } 在调用时,直接将pStu[i]作为实参传递: StudentInfoInput(pStu[i]); 由于形参stu是实参pStu[i]的引用,因此在StudentInfoInput()函数中对形参stu所做的操作就是对实参pStu[i]的操作。 6.4 引用、引用与函数 * 2. 通过引用调用提高函数调用效率 在调用函数时,需要将实参的值传递给形参。如果一个实参本身的数据量较大,则这个传递过程会消耗较长的时间。为了减少参数传递的时间开销,可以对一些数据量比较大的实参(如结构体变量或对象)采用引用调用方式(关于对象的内容请参考第7章)。 当以引用调用方式传递实参,而在函数体中又不需要更改实参的值,则一般在引用形参中加上const关键字,使其成为const引用。使

文档评论(0)

***** + 关注
实名认证
内容提供者

我是自由职业者,从事文档的创作工作。

1亿VIP精品文档

相关文档