下面的函数定义产生了三个临时对象,其实是可以省略掉的:
string FindAddr( list<Employee> emps, string name ) { for( list<Employee>::iterator i = emps.begin(); i != emps.end(); i++ ) { if( *i == name ) { return i->addr; } } return ""; }
修改为:
string FindAddr( const list<Employee>& emps, const string& name ) { list<Employee>::const_iterator i( find(emps.begin(), emps.end(), name) ); if( i != emps.end() ) { return i->addr; } return ""; } bool operator == (const Employee& e, const string& n) { return (e.name.compare(n) == 0); }
通过使用参数引用和标准库,程序效率有了提升,也提高了重用率。
本文通过实例展示了如何通过使用参数引用和标准库函数来优化C++代码,减少临时对象的创建,提高程序运行效率。
581

被折叠的 条评论
为什么被折叠?



