関数に値を渡すとき、
void hoge( int a ) { ... }

hoge( int( 10 ) );

とかって渡すのと、普通に

hoge( 10 );

って渡すのでは何が違うの?