Мне кажется, что проблему, которую вы можете решить с помощью std::valarray
Я имею в виду ... если ваш array
равен
std::valarray<int> array(arr_size);
следующий, вы можете просто написать
array *= x*x + 2*a*x + a*a;
Не по теме предложение: вы используете C ++ 11, поэтому, пожалуйста, избегайте прямого управления вашей динамической памятью.
В вашем коде вы выделили массив
int *array = new int[2 * arr_size];
но вы не удалили его.
Используйте, когда это возможно, стандартные контейнеры (std::valarray
, но также std::vector
), а когда вам нужно управлять динамической памятью, используйте умный указатель (std::unique_ptr
, std::shared_ptr
и т. Д.).