C++ vector初始化后push元素为何出现前置零?
问题解答
vector<int> v(2)调用的是vector的填充构造函数,它会直接创建一个包含2个int元素的容器。由于int类型的默认初始化值是0,所以这两个前置0是初始化阶段就自动生成的。- 后续调用
push_back(1)是在vector的末尾追加新元素,不会覆盖已有的元素,因此最终容器里的元素就是初始化的两个0加上你手动添加的1,打印结果自然是0 0 1。
内容的提问来源于stack exchange,提问作者bannacst
相关产品推荐
相关产品推荐

