函数的形参,什么时候该用指针?什么时候该用引用?

C/C++ > C++ 语言 [问题点数:20分,结帖人raining_0104]
等级
本版专家分:28
结帖率 100%
等级
本版专家分:72661
勋章
Blank
红花 2009年12月 C/C++大版内专家分月排行榜第一
2009年6月 C/C++大版内专家分月排行榜第一
Blank
黄花 2011年5月 C/C++大版内专家分月排行榜第二
2010年9月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年11月 C/C++大版内专家分月排行榜第三
等级
本版专家分:64318
勋章
Blank
进士 2009年 总版技术专家分年内排行榜第六
Blank
金牌 2009年4月 总版技术专家分月排行榜第一
Blank
红花 2009年11月 Linux/Unix社区大版内专家分月排行榜第一
2009年6月 Linux/Unix社区大版内专家分月排行榜第一
2009年4月 C/C++大版内专家分月排行榜第一
2009年3月 C/C++大版内专家分月排行榜第一
2009年3月 Linux/Unix社区大版内专家分月排行榜第一
2009年2月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2010年1月 C/C++大版内专家分月排行榜第二
2009年10月 Linux/Unix社区大版内专家分月排行榜第二
2009年9月 Linux/Unix社区大版内专家分月排行榜第二
2009年8月 C/C++大版内专家分月排行榜第二
2009年8月 Linux/Unix社区大版内专家分月排行榜第二
2009年7月 C/C++大版内专家分月排行榜第二
2009年6月 C/C++大版内专家分月排行榜第二
2009年5月 C/C++大版内专家分月排行榜第二
2009年5月 Linux/Unix社区大版内专家分月排行榜第二
2009年4月 Linux/Unix社区大版内专家分月排行榜第二
2009年2月 C/C++大版内专家分月排行榜第二
2009年1月 Linux/Unix社区大版内专家分月排行榜第二
等级
本版专家分:45
等级
本版专家分:28
等级
本版专家分:8
等级
本版专家分:13284
勋章
Blank
蓝花 2009年4月 C/C++大版内专家分月排行榜第三
等级
本版专家分:95
勋章
Blank
GitHub 绑定GitHub第三方账户获取
等级
本版专家分:11751
勋章
Blank
黄花 2009年4月 C/C++大版内专家分月排行榜第二
Blank
蓝花 2009年5月 C/C++大版内专家分月排行榜第三
等级
本版专家分:28
什么时候使用指针形参?什么时候使用引用形参?解释两者的优点和缺点。

1.当函数需要处理数组且函数体不依赖于数组的长度时应使用指针形参,其他情况下应使用引用形参: 2.指针形参的优点:可以明确地表示函数所操纵的是指向数据元素的指针,而不是数组本身,而且可以使用任意长度的...

c++ 对象作为参数,指针作为参数,引用作为参数

c++ 对象作为参数,指针作为参数,引用作为参数

什么时候用指针形参?什么时候用引用形参

0.在作为参数的作用中指针引用的共同特点是都可以在函数中改变实参对象,标准 C 中是没有引用形参的,只能使用指针形参。1.就函数参数传递数值而言,传递指针与传递引用唯一的优势是避免拷贝,同时带来实参被改变...

函数的参数为引用指针的区别

C++之所以增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能。 到目前为止我们介绍过函数参数传递的两种情况。 1) 将变量名作为实参和形参 这时传给形参的是变量的值,传递是单向的。如果在...

函数形参,什么时候使用引用?什么时候使用指针?什么时候使用按值传递?...

在C++中,函数形参,什么时候使用引用?什么时候使用指针?什么时候使用按值传递? 1 对于使用传递的值而不做修改的函数 (1)数据对象较小,如内置数据类型或小型结构体,则按值传递  void func(int ); (2...

函数中的形参问题(指针形参引用形参、二重指针作为形参)

(1)用指针传递参数,可以实现对实参进行改变的目的,是因为传递过来的是实参的地址,因此使用*a实际上是取存储实参的内存单元里的数据,即是对实参进行改变,因此可以达到目的。在使用的过程中需要通过对地址的解...

C++函数参数中引用指针什么区别?

C++函数参数中引用指针什么区别?

C++中参数何时用引用或是指针

当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别?  比如: DateType ExampleFun(CString &strFileName,...)与  DateType ExampleFun(CString strFileName,...) 解答之前,我们先来看2个基本的...

C++ primer 传递参数( const 实参 形参 引用

一、.非引用形参: 通过复制对应的实参实现初始化...如果函数将新指针赋给形参,主调函数使用的实参指针的值没有改变。如果函数形参是非const类型的指针,则函数可通过指针实现赋值,修改指针所指向对象的值。 2.co

C++智能指针作为函数形参和函数返回值的应用场景

当智能指针作为函数形参时,在调用此函数时,形参代表的智能指针引用计数将+1,同时退出此函数时,形参的引用计数将-1. 当形参不是智能指针时,调用函数和退出函数时,形参的引用计数不会变化: 当...

C++引用&和指针在作为形参时的区别

int n; int &m = n; 在C++中,多了一个C语言没有的引用声明符&,如上,m就是...(1)引用被创建的同时必须被初始化(指针则可以在任何时候被初始化)。  (2)不能有NULL 引用引用必须与合法的存储单元关联

const形参与非const形参

在程序设计中我们会经常调用函数,调用函数就会涉及参数的问题,那么在形参列表中const形参与非const形参对传递过来的实参有什么要求呢? 先来看一个简单的例子: #include #include using namespace std; ...

数组作为函数形参用指针作为函数形参

虽然大多数时候都可以相互最大的差别就是指针可以改变,可以通过指针改变指向内容的值,但数组名不行 举个例子:(分别作为形参) int num[10], *p; p = num;//此时p指向数组的第一个元素 在主函数里调用两个...

C语言中函数形参与实参的区别

那么究竟什么形参什么是实参呢? 形参:在定义函数时指定的参数,在未出现函数调用时,他们并不占用内存中的存储单元。只有在发生函数调用时,函数中的形参才被分配内存单元。在函数调用结束后,形参所占用的内存...

那么为什么作为函数形参的数组和指针申明可以互换呢?

那么为什么作为函数形参的数组和指针申明可以互换呢? 这是一种便利。 由于数组会马上蜕变为指针, 数组事实上从来没有传入过函数。允许指针参数声明为数组只不过是为让它看起来好像传入了数组, 因为参数可能在函数...

C++ 引用形参指针形参

引用形参和非引用形参的区别来看,似乎任何时候使用引用形参指针好, 既少了实参到形参拷贝的开消,也同样可以操作(非const )实参。 那指针形参有没有什么优点呢? 1. 指针形参比引用形参更能清晰的向函数...

c++形参实参

形参:全称为"形式参数"是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数.  形参的作用是实现主调函数与被调函数之间的联系.   实参:全称为"实际参数"是在调用时传递该函数的...

指针作为函数形参

先来看两个程序 程序1 #include<stdio.h> void fun(int *p) { int b=22; p=&b; } int main(void) { int a=1; int *q; q=&a; printf("... fun(q)...

C++中函数用普通变量,指针引用形参的区别

void fun1(int a) void fun2(int *a) void fun3(int

函数参数三种传递方式的区别

问题提出:1、当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别? 比如: DateType ExampleFun(CString &strFileName,…)与 DateType ExampleFun(CString strFileName,…)解答之前,我们先来看2...

函数形参(非引用指针引用

形参定义:全称为“形式参数”是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传递的参数。 形参作用:实现主调函数与被调函数之间的联系,通常将函数所处理的数据,影响函数功能的因素或者...

函数形参--数组操作

什么时候使用引用形参? 当函数需要处理数组且函数体不依赖于数组的长度时应使用指针形参,其他情况下应使用引用形参指针形参的优点是可以明确地表示函数所操作的是指向数组元素的指针,而不是数组本身,...

C++函数参数指南

1.非引用形参引用形参表示对对应实参的局部副本,对这类形参的修改仅仅改变了局部副本的值,...形参的任何改变也仅仅作用于局部副本,如果函数将新指针值赋给形参,主调函数使用的实参指针的值没有改变。 1.2c

C++ Primer学习笔记(7)——指针形参引用形参的比较

前面讲到了巧用引用形参可以达到很好地目的。还有一种是指针形参,它的比较少,专用于数组形参。问:什么时候使用指针形参?什么时候使用引用形参?两者的优缺点是什么?

指针引用作为函数参数有啥

一句话总结 用指针引用作为某函数的参数来传递,其目的就是为了在这个函数里面改变该指针的值(就是改变指针所指向的对象)。

C++ 中形参与实参区别

形参出现在函数定义的地方,多个形参之间以逗号分隔,形参规定了一个函数所接受数据的类型和数量。实参出现在函数调用的...C++中,建议使用引用类型的形参替代指针,因为使用引用,形式上更简单,无须额外声明指针...

数组指针作为形参传递

当数组作为函数形参时,数组的地址可以做函数调用的实参。 可以通过数组地址的传递,在函数内可以对数组进行访问和修改。 eg: #include <stdio.h> #define SIZE 10 /* 形式1 */ void func_1(const char ...

函数形参(普通形参指针形参引用形参

int n=10; add1(n); 1、普通形参 void add1(int v1) { v1+=1;/对实参无影响 ...这是最普通的形参方式,形参仅仅为实参的一个副本,对形参的任何操作不会修改实参的值。...//p为指向n的指针 ...2、指针形参 voi

【C】指针(六)字符指针函数参数

指针作为形参与实参调用方法1:这是最常规的手段,没学指针前可以这种很没有效率的方式,值得注意的是,由于b的长度比a长,这种方法其实是把a的元素赋值到了b的前10位,并且将第11位赋值为‘\0’,在输出的时候...

[C++] 将成员函数作为函数形参

函数以及函数对象都可以作为参数来增加其它函数的功能,并且通常作为STL算法的第二个版本的最后一个参数。成员函数是否可以作为形参呢?如果可以,形参表如何写呢?

相关热词 c#建立坐标系 c# 截取数字串 c# 坐标正算 c# 波形显示控件 野比 c# sql 语法判断 c#多线程有关的类 c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#角度转弧度