找最大值 最小值 平均值
找出包含 20 元素的整型数组中的最大值、最小值,并计算数组所有元素的平均值,按要求完成如下工作:
找出包含 20 元素的整型数组中的最大值、最小值,并计算数组所有元素的平均值,按要求完成如下工作:
先看第一种情况:返回一个局部对象的引用。它的问题在于,局部对象 —– 顾名思义 —- 仅仅是局部的。也就是说,局部对象是在被定义时创建,在离开生命空间时被销毁的。所谓生命空间,是指它们所在的函数体。当函数返回时,程序的控制离开了这个空间,所以函数内部所有的局部对象被自动销毁。因此,如果返回局部对象的引用,那个局部对象其实已经在函数调用者使用它之前被销毁了。
使一个成员为private或protected的原因是想限制对它的访问,对吗?劳累的编译器要费九牛二虎之力来确保你设置的访问限制不被破坏,对不对?所以,写个函数来让用户随意地访问受限的成员没多大意义,对不对?如果你确实认为有意义,那么请反复阅读本段,直到你不这样认为为止。
据说爱因斯坦曾提出过这样的建议:尽可能地让事情简单,但不要过于简单。在c++语言中相似的说法应该是:尽可能地使程序高效,但不要过于高效。
函数参数的传递在设计时,尽可能的选择”传引用“,不要用“传值”的方式,有两个好处:1.速度快2.可以将修改后的值带回
c++的设计者bjarne stroustrup下了很大的功夫想使用户自定义类型尽可能地和固定类型的工作方式相似。这就是为什么你可以重载运算符,写类型转换函数,控制赋值和拷贝构造函数,等等。他做了这么多努力,那你最少也该继续做下去。
这取决于你到底想达到什么目的:
如果你想改变被传递的对象,那就按引用传递或者使用指针;例如 void f(X&); 或者 void f(X*);
如果你并不想改变被传递的对象,但该对象很大,那就按常量引用传递;例如 void f(const X&);
C++ 的指针继承于 C,若要移除指针,势必造成严重的兼容性问题。引用有几方面的用处,但我在 C++ 中引入它的主要目的是为了支持运算符重载。例如:
引用就是为变量引入一个别名,都是指像同一个变量.
可以将int&当一个整体看,会比较好理解。
指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“&”),但是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候使用指针,在什么时候使用引用呢?