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

时间:2015-02-08 09:23:14

标签: c++ systemc

好的,这就是我想要的。我已将数组传递给函数。在返回时,我只想发送在数组中定义的那些值。例如,假设我的数组定义为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个数组的值,否则我将返回数组的所有值。这是我无法找到解决方案的地方。

1 个答案:

答案 0 :(得分:1)

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

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));
     }
}

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