- 2
- 0
- 约6.43千字
- 约 33页
- 2016-05-30 发布于湖北
- 举报
-*- 通过指针提高效率 SimpleCat* FunctionOne( SimpleCat *theCat ) { return theCat; } int main() { SimpleCat myCat; FunctionOne(myCat); return 0; } theCat只是局部指针变量,接收myCat的地址,不会 引起对象的复制构造以及返回后的析构函数调用。 函数返回临时指针变量,保存的是theCat存储的地址 值,不会引起对象的复制构造以及析构。 指针变量占用的存储空间较少,可以忽略。 -*- 通过引用提高效率 SimpleCat FunctionOne( SimpleCat theCat ) { return theCat; } int main() { SimpleCat myCat; FunctionOne(myCat); return 0; } theCat是myCat的引用,不会引起构造及析构。 返回的临时引用是theCat的引用,也就是对myCat的 引用,不会引起构造与析构。 传递引用不会创建新的对象,引用只是别名。 引用和指针的负作用 传递引用或地址,可以提高效率,避免构造与析构函数的调用开销,但也会产生副作用。 在函数内部,通过引用或地址,可以间接修改原始数据,从而造成意外的修改或破坏。 为了保护实参不被意外
原创力文档

文档评论(0)