I read it as the author almost never uses the uninitialized data and when they do need a zeroed array it's simple to do so why pay the cost to initialize the elements when you're about to set them anyway.
#include <vector>
#include <cstdio>
struct MyFoo {
MyFoo() { printf("default ctor\n"); }
MyFoo(int i) { printf("Initialized with %d\n", i); }
MyFoo(const MyFoo& foo) {}
};
int main() {
std::vector<MyFoo> myvec;
myvec.reserve(100);
printf("resize(2)\n");
myvec.resize(2);
printf("emplace_back()\n");
myvec.emplace_back();
printf("emplace_back(1)\n");
myvec.emplace_back(1);
printf("push_back(MyFoo{1})\n");
myvec.push_back(MyFoo{2});
return 0;
}
It will print: resize(2)
default ctor
default ctor
emplace_back()
default ctor
emplace_back(1)
Initialized with 1
push_back(MyFoo{1})
Initialized with 2
Only the resize() call did a default initialization "silently", nothing else did.