在 c++中,返回值大概什么时候会用得到

平时学代码的时候,经常会遇到一些返回值,总是出现在我意想不到的地方,在 c 里面返回值也没有那么重要,并没有重视,但是在 c++里好像不太一样了,所以返回值到底在什么时候,什么地方能用的到。

  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7609842
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:C语言/C++ 中除法得到结果的精度问题(有浮点数参与除法,结果就是浮点数,除数和被除数都是整数,结果默认是整数)
  • 除此之外, 这篇博客: C++读书笔记1:C语言基础知识中的 :定义数组的时候,下标不能是变量,全局变量也不行,但可以是常量。全局数组和静态数组默认初始化为零,局部数组初始值不确定。 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    • 您还可以看一下 夏曹俊老师的C++ 设计模式原理与实战大全-架构师需备课程课程中的 模板方法的定义场景与实现:将“动作”封装成对象是理解行为型模式的重要基础小节, 巩固相关知识点
    • 以下回答由chatgpt基于相关博客总结生成:

      在C++编程中使用返回值的情况有很多,以下是一些实际应用中常用到的情况,并解释为什么在该情况下需要使用返回值:

      1. 函数需要返回单个变量或数据类型时,可以使用返回值。例如,一个计算平均数的函数可以返回 double 类型的平均数值。可以使用 return 语句来返回值。 示例代码:
      double average(int a[], int size) {
          double sum = 0.0;
          for (int i = 0; i < size; ++i) {
              sum += a[i];
          }
          return sum / size;
      }
      
      int main() {
          int a[] = {1, 2, 3, 4, 5};
          int size = sizeof(a) / sizeof(a[0]);
          double ave = average(a, size);
          cout << "The average is " << ave << endl;
          return 0;
      }
      
      1. 某些函数需要返回多个变量或数据类型时,可以用结构体作为返回类型。结构体是一种可以包含多个变量和数据类型的数据结构,可以作为一个单一的值返回。 示例代码:
      struct Point {
          int x;
          int y;
      };
      
      Point findMax(int arr[], int size) {
          int maxIndex = 0;
          for (int i = 1; i < size; ++i) {
              if (arr[i] > arr[maxIndex]) {
                  maxIndex = i;
              }
          }
          Point maxPoint = {maxIndex, arr[maxIndex]};
          return maxPoint;
      }
      
      int main() {
          int arr[] = {10, 2, 36, 45, 12};
          int size = sizeof(arr) / sizeof(arr[0]);
          Point maxPoint = findMax(arr, size);
          cout << "Max element is " << maxPoint.y << " at index " << maxPoint.x << endl;
          return 0;
      }
      
      1. 有时候需要在函数中进行错误检查,如果发生错误需要返回一个错误代码。错误代码可以作为函数的返回值,可以用枚举类型来定义错误代码。 示例代码:
      enum ErrorCode {
          NoError = 0,
          NegativeNumber = 1,
          ZeroDivision = 2
      };
      
      ErrorCode divide(int a, int b, double& result) {
          if (b == 0) {
              return ZeroDivision;
          } else if (a < 0 || b < 0) {
              return NegativeNumber;
          } else {
              result = static_cast<double>(a) / static_cast<double>(b);
              return NoError;
          }
      }
      
      int main() {
          int a = 7;
          int b = 0;
          double result;
          ErrorCode error = divide(a, b, result);
          if (error == ZeroDivision) {
              cout << "Error: Division by zero!" << endl;
          } else if (error == NegativeNumber) {
              cout << "Error: Negative number!" << endl;
          } else {
              cout << "Result is " << result << endl;
          }
          return 0;
      }
      
      1. 在某些函数中需要调用其他函数并根据结果进行返回值设置。示例代码:
      int add(int a, int b) {
          return a + b;
      }
      
      int subtract(int a, int b) {
          return a - b;
      }
      
      int multiply(int a, int b) {
          return a * b;
      }
      
      int divide(int a, int b) {
          return a / b;
      }
      
      int calculate(int a, int b, char op) {
          switch (op) {
              case '+': return add(a, b);
              case '-': return subtract(a, b);
              case '*': return multiply(a, b);
              case '/': return divide(a, b);
              default: throw "Invalid operator!";
          }
      }
      
      int main() {
          int a = 5;
          int b = 3;
          char op = '/';
          int result = calculate(a, b, op);
          cout << a << " " << op << " " << b << " = " << result << endl;
          return 0;
      }
      

      在以上例子中,calculate 函数调用其他函数,并根据操作符进行运算,并返回结果。

      以上是一些使用返回值的情况,当然还有其他很多情况,需要根据具体的实际情况进行使用。

比如说定义一个求sin的函数,你肯定要返回值返回结果啊。
谁告诉你函数返回值不重要的。