首页 > 解决方案 > 如何在 C++ 中按值从函数返回数组

问题描述

我知道按值而不是指针返回数组效率低下。但是,我的 CS 类 final 要求函数返回一个 5 位 1D 数组作为值。因此,我不能通过指针返回数组。我也无法拥有任何全局变量。

我努力了

float FunctionName(){
float myVar[5];
//process data
return myVar;
}

我也试过

float[] FunctionName(){
float myVar[5];
//process data
return myVar;
}

我什至尝试用

float FunctionName(float myVar[5]) {
     //process data
     return myVar;
 }

我读过这是不可能的,但我猜这真的很奇怪或很难做到。我认为枚举类型可能是可能的,但我不确定如何设置它。

标签: c++arraysfunction

解决方案


您不能按值返回数组。但是,您可以使用 来做到这一点std::array,它是数组的包装器:

#include <array>

std::array<float, 5> FunctionName() {
    std::array<float, 5> data;
    //process data
    return data;
}

推荐阅读