c++返回值 注意事项

简介: 1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据 2.返回指向const对象的引用    使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。

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);而第二个方法返回引用不会,因此第二个版本所做的工作更少,

效率更高

目录
相关文章
|
4月前
|
存储 C语言
C 语言函数完全指南:创建、调用、参数传递、返回值解析
函数是一段代码块,只有在被调用时才会运行。 您可以将数据(称为参数)传递给函数。 函数用于执行某些操作,它们对于重用代码很重要:定义一次代码,并多次使用。
136 3
|
19天前
|
JavaScript 前端开发 Java
|
4月前
|
Java C# 开发者
Python 中的类型注解是一种用于描述变量、函数参数和返回值预期类型的机制
【5月更文挑战第8天】Python的类型注解提升代码可读性和可维护性,虽非强制,但利于静态类型检查(如Mypy)。包括:变量注解、函数参数和返回值注解,使用内置或`typing`模块的复杂类型,自定义类型注解,以及泛型模拟。类型注解可在变量声明、函数定义和注释中使用,帮助避免类型错误,提高开发效率。
49 6
|
4月前
|
定位技术 C++ Python
C++一个函数返回两个或更多个返回值的方法
C++一个函数返回两个或更多个返回值的方法
|
4月前
自定义封装一个方法让这个方法可以判断所有的数据类型并返回
自定义封装一个方法让这个方法可以判断所有的数据类型并返回
29 0
|
存储 编译器 程序员
C++之RVO返回值优化
C++进阶之RVO
123 0
|
人工智能 编译器 C语言
如何使用函数及函数的注意事项
目录 什么是函数? 如何调用函数? 函数的先后关系? 函数的变量空间? 什么是函数? 首先我们来说一说函数的作用,就是一块简单的代码接受零个或多个参数,做一件事情,并返回零个或一个值 void sum(int a,int b) { int i; int sum=0; for(i=a:i<=b;i++) { sum+=i; } printf("%d到%d的和是%d\n",a,b,sum); } 现在我们就写出了一个简单的求和函数和数学中的y=f(x)很像 函数名 sum 返回类型 void 参数表 int a,int b 函数体 大括号里的所有东西 函数头 大括号前
|
缓存 Java 容器
GuavaCache返回Null的注意事项
Guava在实际的Java后端项目中应用的场景还是比较多的,比如限流,缓存,容器操作之类的,有挺多实用的工具类,这里记录一下,在使用GuavaCache,返回null的一个问题
325 0
如何查看方法的返回值
如何查看方法的返回值
104 0
|
C语言 Kotlin
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
【Kotlin】函数类型 ( 函数类型 | 带参数名称的参数列表 | 可空函数类型 | 复杂函数类型 | 带接收者函数类型 | 函数类型别名 | 函数类型实例化 | 函数调用 )(一)
253 0