C++/SystemC:有没有办法只从数组中选择一系列值?(例如,从10个值的数组中选择5个值)

C++/ SystemC : Is there a way to select only a range of values from array? ( For example selecting 5 values from an array of 10 values)

本文关键字:数组 选择 例如 10个 5个值 有没有 C++ 一系列 SystemC      更新时间:2023-10-16

好吧,这是我正在尝试的。我已将一个数组传递给一个函数。在返回时,我只想发送那些在数组中定义的值。例如,假设我有一个10的数组定义,我只想在函数中从该数组中返回5个值。

有什么建议吗!?谢谢

样本代码:

sc_uint<8> *arrayfill(struct){
sc_uint<8> array[10];
array[1] = struct.a;
array[2] = struct.b;
...
if (struct.trigger == false){
  array[10] =0;
}
else 
{
  array[10] = struct.j;
}
return array;
}

现在是这样的,当struct.trigger为false时,我只想返回数组的9个值,否则我将返回数组的所有值。而这正是我无法找到解决方案的地方。

我认为您可以使用数组引用作为输入和输出参数,并从输入数组中提取5个元素,然后将其放入输出数组中。类似:

void ExtrctElemnts(const std::vector<int>& in_array, std::vector<int>& out_array){
     for(int i = 0; i < 5; i++){
          out_array.push_back(in_array.at(i));
     }
}

当然,您也可以在数组中选择特定的元素。