1.非引用形参
普通的非引用类型的参数通过复制对应的实参是先初始化,当用实参副本初始化形参
是,函数并没有访问调用所传递的实参本身,二师改变的那个实参副本。因此不会改
变实参的值。 相当于局部参数一样,调用完了就没有了。
结合如下示例#include "stdafx.h"
#include<iostream>
using namespace std;
int gcd(int v1,int v2)
{
while(v2){
int temp =v2;
v2=v1%v2;
v1=temp;
}
return v1;
}
int aa(int a){
return a>0?a:(-a);
}
int Power(int radix,int index)
{
int times = index,sum = 1;
if(times==0)
return 1;
else
{
while(times--)
{
sum *= radix;
}
return sum;
}
}
int squre(int v1,int v2)
{
int sum=1;
while(v2>0){
sum*=v1;
v2--;
}
return sum;
}
int _tmain(int argc, _TCHAR* argv[])
{
cout <<"请输入两个数字";
int i=2,j=10;
//cin>>i>>j;
//cout<< "两个数字的公约输是"<<squre(i,j)<<endl;
cout<< "所得结果是"<<squre(i,j)<<endl;
cout<< "所得结果是"<<Power(i,j)<<endl;
cout<<i<<" "<<j<<endl;
cout<< "所得结果是"<<aa(i)<<endl;
return 0;
}
1,指针形参
函数的形参可以是指针此时将复制实参指针,与其他非引用类型的形参一样,该落泪
形参的任何改变也仅作用于局部副本。
事实上被复制的指针只影响对指针的赋值,如果函数形参是非const类型的指针,则
函数可通过指针实现赋值,修修改指针所指向对象的只
void reset(int *p){
*ip=0;
ip=0;
}
通过调用实参保持原来的值,但是他所指向的对象的值将变为0;
int i=42;
int *p=&i;
cout<<"i"<<*p<<endl;
reset(p);
cout<<*p<<endl;
可以将指向const对象的指针初始化为非const对象,但不可以让指向飞const独享的
指针指向const对象。
// inverse.cpp : 定义控制台应用程序的入口点。
//编写函数交换两个int型指针所指向的值调用并检验该函数,输出交换后的值
#include "stdafx.h"
#include <iostream>
using namespace std;
void inverse(int * v1,int *v2)
{
int temp=*v1;
*v1=*v2;
*v2=temp;
}
int _tmain(int argc, _TCHAR* argv[])
{
int i=10;
int j=20;
int *a=&i;
int *b=&j;
cout<<"before inverse()"<<endl;
cout<<i<<j<<endl;
inverse(a,b);
cout<<"after inverse()"<<endl;
cout<<i<<" "<<j<<endl;
return 0;
}
4.非const引用形参只能与完全同类型的非const对象相关联。
应该将不需要修改的引用形参定义为const引用。普通的飞const引用形参在使用时不太灵活这样的此乃更惨既不能用const对象初始化,也不能用字面值或产生的幼稚的表达式实参初始化。
分享到:
相关推荐
C++primer的笔记,可以看一下,一些容易犯错的陷阱
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
牛人的c++primer学习笔记,c++基础学习必须看的,努力中。
C++ Primer学习笔记 内容很详细
C++Primer摘记,还不错.是第四版的
C++ primer学习笔记,看对家有用木........
c++primer学习心得 c++primer学习心得
C++ primer plus 第五版的个人学习笔记,仅供大家学习参考。
不错的笔记,里面有初学者笔记。C++ Primer学习笔记.doc
学习C++ Primer 3rd 时做的一些笔记,相信对初学者学习 C++ Primer 很有帮助 !
C++ primer前十章的学习笔记,看对大家有用么
C++ Primer 中文版(第四版)学习笔记~ C++ Primer 中文版(第四版)学习笔记~
C++ primer plus学习笔记之三,分为一下几个部分: 函数参数:介绍了函数的生命规则以及定义 数组函数:数组作为变量时的使用方法 指针和const:灵活运用指针和const 函数和二维数组:二维数组作为变量时声明以及定义...
经典之作c++ primer,笔记有助于学习总结
《C++ Primer Plus第6版中文版》学习笔记(第十章) 红字内容是有疑问或者没把握的。 绿字部分是比较重要,或者经过确认的
《C++ Primer 5th》 这本书的笔记上。C++ 在我多年以来断断续续学了好几遍,之前用《C++ 编程思想》也学过,但那本书过于陈旧了,用《C++ Primer 4th》也学过一段时间,由于书本过于沉溺细节,导致最终没法坚持下来...
C++ Primer Plus 第六章分支语句和逻辑操作符的笔记 用例子阐释了 逻辑表达式,问号操作符,switch语句,break和continue以及文件简单输入输出 学习笔记系列博客地址:...
C++primerplus笔记.pdf
c++ primer plus 答案c++ primer plus 答案c++ primer plus 答案c++ primer plus 答案 c++ primer plus 答案