使用const引用传递来提高效率

来源:转载

class Person{public: Person(); ~Person(); private: std::string name; std::string address; };class student: public Person{public: student(); ~student(); private: std::string stuName; std::string stuAddress; };bool IsValidStudent(student s){ return true;}


调用过程:

student s;IsValidStudent(s);


如上使用的代码,存在的效率问题:

1. 以值传递会调用student的拷贝构造函数生成对象,并且调用person的拷贝构造函数

2. 函数结束的时候会增加调用一次student的析构函数以及person的析构函数

3. 除此之外会调用四次std::string的拷贝构造函数以及析构函数

这些都是效率问题,使用常引用传递可以大大提高程序的性能。





分享给朋友:
您可能感兴趣的文章:
随机阅读: