Right! You can use "*" to multiply primitive data types like int, float etc. for multiplying arrays you need to loop through them and multiply each element of it
#include <iostream>
#include <valarray>
int main()
{
// http://en.cppreference.com/w/cpp/numeric/valarray
std::valarray<unsignedint> a = { 1, 2, 3, 4 } ;
std::valarray<unsignedint> b = { 5, 6, 7, 8 } ;
std::valarray<unsignedint> c = a * b ;
for( auto i : c ) std::cout << i << ' ' ;
std::cout << '\n' ;
std::valarray<unsignedint> d = a * ( b + 10U ) ;
for( auto i : d ) std::cout << i << ' ' ;
std::cout << '\n' ;
}