在方法中更改现有数组,C ++风格?

时间:2016-07-12 08:26:36

标签: c++

是否有更多的“C ++风格”来编写改变现有数组的方法?

void Util::sevenColors( const float* color1, float* color2 , unsigned int size )
{
    for( unsigned int i=0; i<size; i++ )
    {
       color2[i] = color1[i] * 7.0f; 
    }
}

1 个答案:

答案 0 :(得分:4)

简单地使用std::transform来避免原始循环,可以更多c ++ - y

void Util::sevenColors( const float* color1, float* color2 , unsigned int size )
{
    std::transform(color1, color1 + size, color2,
                   [](float in) { return 7.0f * in;} );
}

如果该内存是动态管理的,请考虑使用std::vector而不是原始数组。