在c ++中向向量添加元素之前是否需要检查容量?

1 c++ stl

我是c ++ STL载体的新手,很抱歉在advence中提出愚蠢的问题.:)在我的程序中,我有一个需要存储未知数量元素的向量.在向其添加新元素之前,是否必须检查向量是否已达到其max_size?当程序试图将元素添加到完整向量时,c ++编译器是否会自动抛出异常?

非常感谢,Cassie

Jam*_*lis 6

如果std::vector已达到其最大大小,则尝试插入另一个元素将导致底层分配器抛出std::bad_alloc异常.

但请注意,矢量的最大大小通常非常非常大(例如,可以用size_t元素类型的大小表示的最大值),因此,如果不是不可能的话,您不太可能在用完可以存储向量的连续内存之前达到最大大小.