C++ 初始化时向量大小不为零

C++ 初始化时向量大小不为零,c++,vector,omnet++,inet,C++,Vector,Omnet++,Inet,我正在使用inet v3.4.0。我正在尝试创建一个移动模型。但是,每当我创建任何类型的std::vector时,都会使用随机大小初始化它 初始化时,它的大小永远不会为零。这应该会发生吗?因为从C++向量中,我看到了向量的创建,例如 std::vector <int*> a; std::向量a; a的大小应为零。相反;C++标准要求默认构造 STD::vector < /Cord>:零大小: std::vector<int* /*for example, but the t

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

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

std::vector <int*> a;
std::向量a;

a
的大小应为零。

相反;C++标准要求默认构造<代码> STD::vector < /Cord>:零大小:

std::vector<int* /*for example, but the type is not relevant*/> a;
a.size() == 0; // this is true
a.empty(); // this is true
std::向量a;
a、 size()==0;//这是真的
a、 空();//这是真的
您是否使用调试器检查
a
的明显“内容”?注意,
std::vector
可以用非零容量构建,作为内存管理优化


(Prime@ MalbDNILO:不能使用<代码> SeZeof(a)< /C> >返回< <代码> a < /C> >中的元素数量)< < /P> < P>不确定什么是IET,但我用C++得到大小为0:

#include <iostream>
#include <vector>

using namespace std;

int main()
{
        std::vector<int*> a;
        cout << "Size is : " << a.size() << endl;
        return 0;
}

你能试着创建一个并展示给我们吗?请提供。更准确地说,如何检查尺寸?另外
std::vector a
将不会编译,因为它缺少模板参数。此外,即使您使用的是OMNeT++,您的问题真的与之相关吗?在编辑问题以包含MCVE时,还要确保没有任何不相关的标记。我的水晶球认为您是在尝试使用
sizeof(a)
来确定大小,而不是
a.size()
@molbdnilo:Good spot。你知道,你可以在这个基础上回答。如果不是,我很想掐一下。
Size is : 0