C++

C++ 知识量:19 - 82 - 316

6.3 返回类型和return语句><

无返回值函数- 6.3.1 -

在C++中,如果一个函数被定义为没有返回值(void),那么它必须被设计为不返回任何值。这意味着该函数只能执行某些操作,而不能计算并返回一个值。

例如,以下是一个无返回值的C++函数,它用于输出一条信息到控制台:

void printMessage() {  
    std::cout << "Hello, world!" << std::endl;  
}

该函数没有返回值,因此其返回类型为void。在函数体内,使用std::cout语句将一条消息输出到控制台。

要调用这个函数,可以使用以下代码:

printMessage();

这个函数只是简单地输出一条消息,并没有计算并返回任何值。因此,它是一个无返回值的函数。

有返回值函数- 6.3.2 -

在C++中,函数可以具有返回值,这意味着它们在执行过程中可以计算出一个值并返回给调用方。返回值可以是任何数据类型,包括整数、浮点数、字符、字符串等。

下面是一个具有返回值的C++函数的示例:

int add(int a, int b) {  
    int sum = a + b;  
    return sum;  
}

在这个例子中,函数add接受两个整数作为参数,将它们相加,并返回它们的和作为一个整数。在函数体内,使用return语句将计算结果返回给调用方。

要调用这个函数并获取其返回值,可以使用以下代码:

int result = add(2, 3);  
std::cout << result << std::endl;  // 输出:5

在这个例子中,将函数add的返回值存储在一个名为result的整数变量中,并将其输出到控制台。

返回数组指针- 6.3.3 -

在C++中,函数可以返回一个数组的指针。以下是一个简单的例子:

#include <iostream>  
  
int* createArray() {  
    static int arr[5] = {1, 2, 3, 4, 5};  
    return arr;  
}  
  
int main() {  
    int* ptr = createArray();  
    for(int i = 0; i < 5; i++) {  
        std::cout << *(ptr + i) << " ";  
    }  
    return 0;  
}

在这个例子中,函数 createArray 创建了一个静态的整型数组 arr,并将其返回。在 main 函数中,通过指针 ptr 来访问这个数组的元素。

注意,当函数返回一个数组的指针时,该数组通常是在函数内部创建的(如上面的例子),或者是指向静态存储区的一个常量指针(不能修改其内容)。这是因为返回局部变量的指针是危险的,因为当函数结束时,局部变量会被销毁,因此指针会变成悬空指针。