C++使用指针返回多个int
时间: 2024-09-15 21:12:40 浏览: 50
在C++中,直接通过函数返回多个整数是不允许的,因为C++规定一个函数只能返回一个值。但是,你可以通过几种技巧间接地达到类似的效果:
1. **结构体或联合体**:创建一个包含多个`int`成员的结构体或联合体,然后将这个结构体作为函数的结果返回。例如:
```cpp
struct MultiInt {
int num1;
int num2;
};
MultiInt getMultipleInts() {
// 在这里填充数值
MultiInt result = {42, 99};
return result;
}
```
2. **元组(std::tuple)**:从C++11开始,可以使用`std::tuple`来组合多个值。例如:
```cpp
#include <tuple>
std::tuple<int, int> getMultipleInts() {
return std::make_tuple(42, 99);
}
// 调用时需要指定元素类型来解包
auto [num1, num2] = getMultipleInts();
```
3. **std::array 或 vector**:如果是一维数据,也可以考虑使用`std::array`或`std::vector<int>`作为结果。
4. **自定义类型别名(typedef)**:如果只是简单地想表示两个相关的`int`值,可以定义一个类型别名:
```cpp
typedef std::pair<int, int> IntPair;
IntPair getMultipleInts() {
return {42, 99};
}
```
请注意,虽然上述方法可以让函数“看起来”返回多个值,但实际上它们都封装成了一个单独的对象或容器。在调用者看来,处理这些返回值的方式仍需分开处理。
阅读全文
相关推荐


















