初始化时矢量大小不为零

-3 c++ vector inet omnet++

我正在使用inet v3.4.0.我正在尝试创建一个移动模型.但每当我创建任何类型的std :: vector时,它都会随机大小初始化.

初始化时,它永远不会有零大小.这应该发生吗?因为从C++向量,我看到在创建向量时,例如

std::vector <int*> a;
Run Code Online (Sandbox Code Playgroud)

a 应该有一个大小为零.

Bat*_*eba 7

反之; C++标准要求默认构造std::vector为零大小:

std::vector<int* /*for example, but the type is not relevant*/> a;
a.size() == 0; // this is true
a.empty(); // this is true
Run Code Online (Sandbox Code Playgroud)

您是否使用调试器来检查明显的"内容" a?注意,a std::vector可以构造为具有非零容量,作为存储器管理优化.

(Acknowledge @molbdnilo:你不能sizeof(a)用来返回元素的数量a.)