主页
  • 主页
  • 分类
  • 热文
  • 教程
  • 面试
  • 标签
C++

C++ 基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

C++ 字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

C++ 函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

C++ 面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

C++ 高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

基础

C++ 主页
C++ 概述
C++ 环境
C++ 基本语法
C++ 注释
C++ 数据类型
C++ Hello, World
C++ 省略命名空间
C++ 数值类型
C++ 字符类型
C++ 布尔类型
C++ 变量
C++ 作用域
C++ 多个变量
C++ 输入输出基础
C++ 常量/文字
C++ 修饰符类型
C++ 存储类别
C++ 操作符
C++ 决策结构
C++ 循环结构
C++ foreach 循环
C++ 数字
C++ 数组
C++ 指针
C++ 枚举类型
C++ 引用变量
C++ 日期与时间
C++ 结构体
C++ 联合类型

字符串

C++ 字符串
C++ 字符串长度
C++ 字符串连接

函数

C++ 函数
C++ 多参数函数
C++ 递归
C++ return 语句
C++ 函数重载
C++ 函数重写

面向对象

C++ 面向对象
C++ 类和对象
C++ 多重继承
C++ 多层次继承
C++ 继承
C++ 重载
C++ 多态性
C++ 抽象
C++ 封装
C++ 接口

高级

C++ 文件和流
C++ 异常处理
C++ 动态内存
C++ 命名空间
C++ 模板
C++ 预处理器
C++ 信号量
C++ 多线程
C++ Web 编程
C++ 高级概念

C++ return 语句


上一章 下一章

一、C++ 中的 return 语句

在 C++ 中,return 语句用于退出一个函数并将一个值(如果需要的话)返回给函数的调用者。它在控制程序流程方面起着非常重要的作用,并确保函数能够向代码的其他部分提供结果。

语法

下面是使用 return 语句的语法:

return [expression];

其中,“expression”是可选的,专门用于函数。如果提供,则它指定了要返回给调用者的值。

return 语句示例

下面是一个 return 语句的例子:

#include <iostream>
using namespace std;

int sum(int a, int b){
   // 在这里返回 a 和 b 的和
   return a + b;
}

int main(){
   // 调用函数
   int ans = sum(5, 2);
   cout << "The sum of two integers 5 and 2 is:  " << ans << endl;

   // 从 main() 返回,
   // 0 表示无错误执行完毕
   return 0;
}

输出

The sum of two integers 5 and 2 is: 7

二、return 语句的关键方面

  1. 函数终止 当执行 return 语句时,函数立即退出,并可选择性地将值返回给调用者。

  2. 返回类型

    • 值返回 在此,return 语句中指定的值将被送回给调用者。这对于执行计算或需要提供结果的函数至关重要。

      int Add(int a, int b) {
         return a + b;  // 返回 a 和 b 的和
      }
    • 无返回值(void) 对于声明为 void 的函数,return 语句可以在没有表达式的情况下使用,以便提前退出函数。

      void GetMessage() {
         cout << "Hello, TutorialsPoint Learner!";
         return;  // 退出函数
      }
  3. 多个 return 语句 一个函数可以包含多个 return 语句,通常在条件语句中可以看到这种情况。

    int max(int a, int b) {
       if (a > b)
          return a;
       else
          return b;
    }
  4. 返回对象 函数可以返回对象,这对于返回封装在类或结构体中的多个值很有用。

    struct point {
       int x, y;
    };

    point getOrigin() {
       return {0, 0};
    }
  5. 早期退出 return 语句可用于在遇到错误或特殊条件时提前退出函数。

    int divideInteger(int a, int b) {
       if (b == 0) {
          cerr << "Error: Division by zero!" << endl;
          return -1; // 显示错误
       }
       return a / b;
    }

三、C++ 中的返回类型和值处理

在 C++ 中,函数的返回类型决定了函数将返回给调用者何种类型的值(如果有)。正确处理返回类型和值对于确保函数按预期工作并与程序的其他部分无缝集成非常重要。

  1. 原始数据类型 原始数据类型是由 C++ 提供的基本内置类型。常见的例子如 int, float, double, char 等。

    示例

    #include <iostream>
    using namespace std;
    // 创建一个返回整数的函数
    int getSquare(int num) {
       return num * num;
    }
    int main() {
       int value = 5;
       int result = getSquare(value); // 调用函数并存储其结果
       cout << "The square of " << value << " is " << result << endl;
       return 0;
    }

    输出

    The square of 5 is 25
  2. 用户定义的类型 用户定义的类型包括结构体和类。这些类型允许您定义复杂的自定义数据结构,以满足您的具体需求。

    结构体示例

    #include <iostream>
    using namespace std;
    struct Point {
       int x;
       int y;
    };
    Point createPoint(int x, int y) {
       Point p;
       p.x = x;
       p.y = y;
       return p; // 返回一个 Point 对象
    }
    int main() {
       Point p = createPoint(10, 20);
       cout << "Point coordinates: (" << p.x << ", " << p.y << ")" << endl;
       return 0;
    }

    输出

    Point coordinates: (10, 20)

    类示例

    #include <iostream>
    using namespace std;

    class rectangle {
       public:
          rectangle(int w, int h) : width(w), height(h) {}
          int getArea() const {
             return width * height;
          }
       private:
          int width;
          int height;
    };

    rectangle createRectangle(int width, int height) {
       return rectangle(width, height); // 返回一个 Rectangle 对象
    }

    int main() {
       rectangle rect = createRectangle(10, 5);
       cout << "Area of given Rectangle is: " << rect.getArea() << endl;
       return 0;
    }

    输出

    Area of given Rectangle is: 50
  3. 引用和指针 引用和指针用于引用变量或对象而不进行任何拷贝。这在需要效率或在必要时修改原始数据时非常有用。

    通过引用返回

    #include <iostream>
    using namespace std;
    int globalValue = 100;

    int& getGlobalValue() {
       return globalValue; // 返回全局变量的引用
    }

    int main() {
       int& ref = getGlobalValue();
       ref = 200; // 修改全局变量
       cout << "Global Value: " << globalValue << endl; 
       return 0;
    }

    输出

    Global Value: 200

    通过指针返回

    #include <iostream>
    using namespace std;
    int* createArray(int size) {
       int* array = new int[size]; // 动态分配内存
       for (int i = 0; i < size; ++i) {
          array[i] = i * 10;
       }
       return array; // 返回指向已分配数组的指针
    }

    int main() {
       int* myArray = createArray(5);
       for (int i = 0; i < 5; ++i) {
          cout << myArray[i] << " ";
       }
       delete[] myArray; // 释放动态分配的内存
       return 0;
    }

    输出

    0 10 20 30 40
上一章 下一章
阅读号二维码

关注阅读号

联系二维码

联系我们

© 2024 Yoagoa. All rights reserved.

粤ICP备18007391号

站点地图