#include<iostream.h> void swap(int *,int *); void swap2(int &,int &); void swap3(int []); int main(){ int a=3,b=8; cout<<a<<","<<b<<endl; swap(&a,&b); cout<<a<<","<<b<<endl; swap2(a,b); cout<<a<<","<<b<<endl; } void swap(int *a,int *b){//交换数据 int temp=*a; *a=*b; *b=temp; } void swap2(int &a,int &b){//引用传递参数 int temp=a; a=b; b=temp; } void swap2(int numb[]){ int a=numb[0]; numb[0]=numb[1]; numb[1]=a; }
从上面的代码中可以看到指针和引用都可以传递参数并改变值,传递的是地址。数组是引用传递,传递的是数组的首地址,在函数里面发生变化后会改变数组的值。
参数的传递之二。(集合的传递如vector)
std::vector<int> li; for(i=0;i<10;i++)li.push_back(100-i); //初始化 swap4(li); swap5(li);//等同于swap5(getLi()); void swap4(std::vector<int> q){ //函数调用 for(int i=0;i<q.size();i++) q[i]=i*2; } void swap5(std::vector<int>& li){ //使用引用接收向量集合 for(int i=0;i<li.size();i++)li[i]=2*i+1; } std::vector<int>& getLi(){ return li; //其中li的类型是std::vector<int> }
swap4()函数调用之后,不会改变集合里面的值。使用引用接收集合会改变内容,引用接收的是地址,getLi()返回的仅仅是内容而已
引用的使用:
int one=3; int &rInt=one;//rInt引用作为one的别名来使用 int *ip=&one;//是取地址操作符 cout<<&one<<&rInt<<endl;//表示变量和引用取地址。
使用引用传递参数来改变参数,如上swap2().
使用引用作为返回值
#include<iostream.h> float temp; float fn1(float r){ temp=r*r*3.14; return temp; } float& fn2(float r){ temp=r*r*3.14; return temp } int main(){ float a =fn1(5.0); float& b=fn1(5.0); //waring float c =fn2(5.0); //程序的效率和空间利用率较高 float& d=fn2(5.0); }
相关推荐
### C++基础知识总结 #### 一、C++数据和变量的类型及变量作用域 **1. 基本的内置类型** C++提供了一系列基本的内置数据类型,用于存储不同种类的数据。以下是一些常见的类型及其特点: - **布尔型 (`bool`)**:...
根据提供的文件信息,以下是...王桂林的《C++基础与提高》作为教材,能够为读者提供系统性的C++语言学习和深入讨论。通过学习这些知识,读者能够掌握C++语言的核心特性和编程技术,为进一步的软件开发打下坚实的基础。
C++基础入门 C++是一种功能强大且灵活的编程语言,本文档旨在为读者提供一个基本的C++基础知识入门指南,包括创建项目、编写代码、运行程序、注释、变量、常量、关键字、标识符命名规则和数据类型等方面的知识点。 ...
9. **指针与引用**:指针是C++的特色之一,它存储了变量的地址,可以用来间接访问和修改变量。引用是另一种别名,类似于指针但更安全,因为引用必须在声明时初始化且不能改变引用的对象。 10. **内存管理**:C++...
通过解决这些C++基础试题,学习者将能更好地理解和掌握C++的核心概念,为进一步深入学习C++的高级特性打下坚实基础。同时,实践是检验知识掌握程度的最佳方式,因此不断做题和编写代码对于提升C++技能至关重要。
C++是一种静态类型、编译式、通用的编程语言,由Bjarne Stroustrup在1979年开始开发,最初被称为C with Classes,...以上内容为C++程序开发的基础知识。掌握这些知识点对于编写C++程序和进一步学习该语言是非常重要的。
【C++基础ppt】是一个针对初学者的详细教程,涵盖了C++编程语言的关键概念和核心要素。本教程旨在帮助学习者构建扎实的C++基础知识,为深入理解和应用该语言打下坚实的基础。以下是对每个章节内容的详细阐述: 1. *...
C++是一种强大的、通用的编程...总之,这套C++基础讲义结合PPT和源代码实例,将为你的C++学习之路提供坚实的基础。通过系统学习和实践,相信你能够熟练掌握这门强大的编程语言,为未来的软件开发生涯打下坚实的基础。
计算机C++基础题库 计算机C++基础题库是指对C++编程语言的基本概念、语法、特性和应用的总结和归纳。本题库涵盖了C++的基本语法、函数、类和对象、继承、多态、异常处理、文件输入输出、模板编程、泛型编程等方面的...
《C++基础知识讲义v1》是一份专为初学者设计的C++教程,涵盖了C++编程语言的基础概念和重要特性。这份讲义通过一系列的PPT文件,深入浅出地讲解了C++的核心知识,旨在帮助学习者快速掌握这门强大的编程语言。 1. **...
在《Visual C++ 游戏编程基础》这本书中,作者深入浅出地介绍了使用Visual C++进行游戏开发的基础知识和技巧。本部分压缩包包含了书中的部分源代码和相关资源,便于读者实践和理解。以下是关于这个主题的一些关键...
以上是C++基础面试题可能会涉及到的主要知识点。熟练掌握这些概念和技巧,对于C++初学者来说,不仅能通过面试,还能为日后的编程生涯打下坚实基础。在实际面试中,还会涉及到具体编程题目,需要考生能够实际编写代码...
C++是一种强大的、通用的编程语言,由Bjarne Stroustrup在1979年设计并开发,...这份"编程语言C++基础知识课件"将引导你逐步掌握这个强大语言的关键概念,无论你是初学者还是有一定经验的开发者,都将从中受益匪浅。
"c++基础例题200个"这个资源提供了丰富的实践题目,帮助初学者深入掌握C++的基本语法、数据结构以及编程技巧。下面,我们将详细讨论其中可能涉及的一些关键知识点。 1. **基本语法**:C++的基础语法包括变量声明、...
这份"C++基础笔记资料.zip"包含的资源是学习C++基础知识的重要参考资料,适合初学者和有一定经验的开发者用来巩固基础。 C++起源于C语言,由Bjarne Stroustrup在1979年开发,旨在增加程序的抽象层次和类型安全性。...
在"C++基础学习文档"中,包含的三个关键资源旨在帮助初学者掌握C++的基础知识。 首先,"C++Primer3rdEdition中文完美版.pdf"是C++ Primer的第三版中文翻译,这是一本非常经典的C++入门教材。该书全面覆盖了C++的...
CV算法岗知识点及面试问答汇总(主要分为计算机视觉、机器学习、图像处理和 C++基础四大块).zip CV算法岗知识点及面试问答汇总(主要分为计算机视觉、机器学习、图像处理和 C++基础四大块).zip CV算法岗知识点及...
C++的基础知识是所有C++程序员必须掌握的,这包括但不限于语法、变量、数据类型、运算符、控制结构、函数、类与对象、模板和异常处理。 1. **基本语法**:C++的语法基于C语言,但增加了许多面向对象的特性。它遵循...
本教程“C++基础与提高”旨在帮助学习者从零开始掌握C++的基础知识,并进一步提升技能,实现对C++的深入理解和熟练运用。 一、C++基础 1. **语法结构**:C++的语法结构基于C语言,包括变量声明、数据类型(如int、...