1.防修改
int Test(const int TestArray[]);
为了保证TestArray[]数组元素不会在函数中被修改, 将它定义为 const 参数
2.类的对象定义为 const 引用,可以节省对象传递中的开销(同时防修改)
void Test( const Myclass &obj) ;
void Test(MyClass obj) 这样声明的函数函数体内将产生MyClass类型的临时对象
用于复制参数obj,而临时对象(obj的副本)的构造、复制、析构过程都将消耗时间。
为了提高效率,可以将函数声明改为void Test(MyClass &obj),因为“引用传递”仅借用一下参数的别名而已,不需要产生临时对象。从而提高效率。
但是函数void Test(MyClass & obj) 存在一个缺点:“引用传递”有可能改变参数obj,这可能不是我们期望的。
为了解决这个问题,加const修饰即可,即void Test( const Myclass &obj) ;