c++返回值 注意事项
2014-01-01 12:18
267 查看
1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据
2.返回指向const对象的引用
使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。
如果函数返回传递给它的对象,可以通过返回引用来提高效率。
A Max(const A & a1,const A &a2)
{
if(a1.v>a2.v)
reutrn a1;
else
return a2;
}
const A & Max(const A &a1,const A & a2)
{
if(a1.v>a2.v)
reutrn a1;
else
return a2;
}
第一个方法返回将调用复制构造函数A(const A &a);而第二个方法返回引用不会,因此第二个版本所做的工作更少,
效率更高
2.返回指向const对象的引用
使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。
如果函数返回传递给它的对象,可以通过返回引用来提高效率。
A Max(const A & a1,const A &a2)
{
if(a1.v>a2.v)
reutrn a1;
else
return a2;
}
const A & Max(const A &a1,const A & a2)
{
if(a1.v>a2.v)
reutrn a1;
else
return a2;
}
第一个方法返回将调用复制构造函数A(const A &a);而第二个方法返回引用不会,因此第二个版本所做的工作更少,
效率更高
相关文章推荐
- C++ 返回值注意事项
- .NET工程中以 C 和 C++ 两种方式编译时,函数调用注意事项
- VS 优化C++代码几点注意事项
- C++ auto_ptr智能指针的详细用法和注意事项
- C++中的强制转换注意事项
- C/C++常用宏定义,注意事项,宏中#和##的用法 .
- C++ STL map 下标操作注意事项
- C++默认参数注意事项
- c++中string使用的注意事项
- 跨平台C、C++代码注意的事项
- 使用C++ STL需要注意的事项
- C++强制类型转换const_cast()注意事项
- C++细节注意事项
- C++ 开发OCX 的方法和注意事项
- Ubuntu下C++开发PHP开发扩展的注意事项
- C++ 友元函数/实际使用的一些注意事项/重复定义
- C++多线程调试和测试的注意事项
- C++ 与“类”有关的注意事项总结(七):构造函数
- C++ 与“类”有关的注意事项总结(十二):按成员初始化 与 按成员赋值
- c/c++软件开发的注意事项