int c( 6 );    // initializer in parenthesis (direct initialization)

created to replace Copy Initialization however, Direct list Initialization does its job better.

its not used too often anymore because initializing like this will often look like a function

It does have some very powerful use cases however, such as typecasting