std::vector< toto > p__( toto( 103, "p" ), 10 );
ça marcherait pas ça ?
comme vector est un template, le code de .resize qui a besoin du constructeur par défaut ne sera pas généré s'il n'est jamais appelé.
Mais bon même si ça marche ça serait surement pas portable, la STL étant libre de générer tout le code quelle veut.