c++什么时候该用引用,什么时候可以不用

有时候编程序,有的是count(int ,int),有的例子却是count(int &,int),什么时候该用引用,什么时候该不用,换句话说就是形参里面的哪些类型是依据什么写的?
那请问是根据什么写的参数表里面的呢?举个典型的例子说说吧,如果能讲明白了,加几十分没问题啊

参数是简单类型(如整数)而且程序中不改变参数的值就不要用了,
复杂类型要用,避免拷贝构造函数被调用。如果你想改实际参数的值,也用引用。

--------------------------------------------------

不是说了吗,根据你的数据类型和是否要在函数中改变此参数的值。像求加法这样的简单函数,就不用引用:
int Add(int l, int r)
{
return l + r;
}

如果你要改参数的值,就用。比如一个函数返回几个结果:
void f(int i, int &j, int &k, int &m)
{
j=i++;
j=i*2;
m=j-5;
}

如果你有复杂的类型,也要用引用,因为不用引用就会调用拷贝构造函数把你的复杂对象拷贝一次,比较慢。不过要用常引用:
void f(const MyClass &c)
{
...................
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-08-14
Getlistctrl()这个函数就返回的是引用。 我个人觉得引用就可以理解成一个全局变量。无论到那个函数中,都可以对这个引用的值进行修改。而且在调用引用的时候,返回的是你上一次修改的引用。
可以假设这样一个情况:
窗体生成的时候创建了个list对象。我需要在不同的消息响应函数中修改list对象的内容和属性,这个时候就需要用到引用来获得当前的list对象的状态。否则,则需要很麻烦的一系列语句才能得到list这个控件当前的状态。
我自己的一点体会。

c++什么时候该用引用,什么时候可以不用
参数是简单类型(如整数)而且程序中不改变参数的值就不要用了,复杂类型要用,避免拷贝构造函数被调用。如果你想改实际参数的值,也用引用。--- 不是说了吗,根据你的数据类型和是否要在函数中改变此参数的值。像求加法这样的简单函数,就不用引用:int Add(int l, int r){ return l + r;} ...

...符重载的时候究竟什么时候应该加引用,什么时候不应该加引用?_百度...
如果返回值会被赋值,就必须返回引用,例如=重载\\x0d\\x0a如果返回值是一个局部变量,就一定不能返回引用,例如+重载\\x0d\\x0a如果为了提高效率,参数可以使用引用,\\x0d\\x0a而[]的实际参数经常是一个常量,常量你是无法引用,所以不能用引用作为[]的参数。

C++中引用的作用,就是说该在什么情况下使用引用,以及常引用
任何时候都可以使用引用 当你不想因为自己的失误而改变变量的值时,就用常引用,这样编译器就会自动排查试图改变该变量的操作 并且发出警告

C++中值返回和引用返回有什么区别?在什么情况下应该用引用返回
返回一个对象的时候一般用引用作为返回值。为什么呢?因为C++中的对象是要占用一定的内存空间的,返回引用的话就可以减少一个复制对象的过程,从而减少内存开销。 举个例子吧: 假设有一个类A,有成员函数A& fun();返回的是引用。 那么在main()里我们定义一个对象A a;然后调用fun(); 即a=fun();...

c++引用类型的实质
而指针可以记录这个变量的地址,也可以记录那个变量的地址。对变量创建别名,用别名来代替变量,比用指针代替变量可读性好。另外有几种情况必须使用引用:(1) 对象作为参数时,不需要复制对象就能够以参数形式传递大型对象。(2) 复制构造函数必须使用引用。(3) 运算符重载不能操作指针,必须使用引用。

C++中的引用有什么用
引用是C++中的一个概念,它可以视为某个变量或对象的别名,与原始变量或对象相互关联。进行对引用的操作等同于对原始变量或对象进行操作。让我们更具体地探讨引用在不同场景中的应用。在处理数组和指针时,引用提供了一种更为灵活且安全的方式。与指针相比,引用无需管理指针的空值或越界问题,避免了内存...

C++中什么时候用指针,什么时候用引用
严格来说,C++是不建议使用指针的,因为面向对象是引用和智能指针的天下,因此,C++来说最好不要用指针使用引用。但是有迫不得已的时候比如在类中定义一个指向成员变量的指针,在函数中进行动态申请的情况,这个时候智能使用指针,或者一些智能指针什么的。所以具体情况具体分析,没有什么绝对。建议尽可能少...

C\/C++何时使用引用和指针
指针不依赖于对象的存在而存在,就是可以“凭空存在”;而引用不能“凭空存在”,必定指向一个对象。一般来说,能用引用的地方,用指针也可以。但是指针太灵活(它可以指向NULL),然而如果此时提取指针对象就会出现“不明确行为”的严重错误。然而用引用就不会出现这样的错误,因为引用必须指向一个已经存在...

c语言里一般都说引用而不说使用,引用和使用有什么区别呢
\/\/这里b就是a的一个别名,以后a=b;b = 5; \/\/此时a也等于5 引用的一个应用是参数传递,C语言里面要想通过函数改变值只能通过指针。如果用引用就很容易。比如:f(int &a)int c = 10;f(c);在f()函数里面对a的值的修改,都可以反映到c变量中。使用不是计算机专业词汇,无具体含义。

请教问题:什么时候声明指针,什么时候声明普通变量? 什么时候用指针?什 ...
\/\/要用地址的时候,要声明指针;什么时候声明普通变量? \/\/在函数要用时声明;什么时候用指针? \/\/当要引用地址时候就要用指针;什么时候用引用? \/\/当已经声明函数(已经定义:包括库函数、还有自己定义)、变量时候就要引用;什么时候用普通变量 \/\/在定义变量后要使用就要用。

相似回答