初期化を行わない vector が欲しい

C++ はゼロオーバーヘッドの原則が〜って言われるけど、
malloc で組んでた動的配列を std::vector に置き換えることはこの原則に反しないの?
std::vector<int> が領域確保後にゼロクリアするオーバーヘッドは無視できないと思うんだけど
何か勘違いしてるかな…