C++作为一个强大又注重效率的语言,虽然它效率很高,但是我们在实际应用中利用一些技巧,使其效率更高也是很有必要的:
(1)函数的参数传引用比传值效率更高。尤其是参数为类对象的时候;
bool Compare(string s1)
bool Compare(string *s1) //传指针;
bool Compare(string &s1) //传引用;
bool Compare(const string &s1) //常量引用,否则不能引用常量;
第一个函数(值传递),则在参数传递和函数返回时,需要调用string的构造函数和析构函数两次,而其他的三个函数---指针传递和引用传递--则不需要调用这两个个函数。因为指针和引用都不会创建新的对象。如果一个构造一个对象和析构一个对象的开销是庞大的,这就是会效率造成一定的影响。引用与使用普通值传递一样方便直观,同时具有指针传递的高效和能力。因为引用是一个变量的别名,对其操作等同于对实际对象操作,所以当你确定在你的函数是不会或不需要变量参数的值时,就大胆地在声明的前面加上一个const吧,就如最后的一个函数声明一样。同时加上一个const还有一个好处,就是可以对常量进行引用,若不加上const修饰符