C++函数返回结构体
时间: 2024-12-28 13:28:58 浏览: 11
### C++ 中函数返回结构体的方式
在 C++ 编程语言中,可以通过多种方式让函数返回结构体。一种常见方法是直接将整个结构体作为返回值;另一种则是返回指向结构体的指针或引用。
#### 直接返回结构体实例
当函数需要返回一个完整的结构体对象时,可以直接声明函数返回类型为特定的结构体名称,并构建相应的结构体实例来返回:
```cpp
#include <iostream>
using namespace std;
// 定义结构体
struct Student {
string name;
int age;
};
// 函数返回结构体实例
Student create_student(string n, int a) {
Student stu = {n, a};
return stu;
}
int main() {
// 调用函数并获取返回的结构体
Student new_stu = create_student("李四", 20);
cout << "姓名:" << new_stu.name << ", 年龄:" << new_stu.age << endl;
}
```
此代码展示了如何定义 `create_student` 函数用于创建一个新的 `Student` 类型的对象,并将其作为一个整体返回给调用者[^4]。
#### 使用指针或引用返回结构体成员
除了直接返回结构体外,在某些情况下可能更倾向于返回指向结构体的指针或是其引用。这种方式有助于减少不必要的复制操作,提高效率。下面是一个简单的例子展示如何通过引用返回结构体成员:
```cpp
void ModifyStudentScore(Student& s, int new_score){
s.score = new_score;
}
int main(){
Student p={"王五",17,85};
ModifyStudentScore(p,90);
cout<<"修改后的成绩:"<<p.score<<endl;
}
```
这里定义了名为 `ModifyStudentScore` 的函数接受一个 `Student` 类型的引用参数,并对其内部字段进行了更改[^3]。
阅读全文