小编tor*_*ike的帖子

为什么空向量调用值类型的默认构造函数?

使用g ++,我观察到创建一个大小为零的向量会调用向量的参数化对象类型的构造函数一次.然后它被删除.为什么会这样?

#include <iostream>
#include <vector>
using namespace std;

class s
{
    public:
    s() { cout << endl << "default s constructor" << endl; }
    ~s() { cout << endl << "default s destructor" << endl; }

};

int main()
{
    vector<s> v(0);
}
Run Code Online (Sandbox Code Playgroud)

输出:

默认的构造函数

默认的析构函数

c++ stl vector stdvector

29
推荐指数
2
解决办法
2158
查看次数

标签 统计

c++ ×1

stdvector ×1

stl ×1

vector ×1