简单vector使用出错! 请问!

简单vector使用出错!! 请教!!
int   main()   {
    vector <Widget>   v;

    Widget   w1(1);
    Widget   w2(2);
    Widget   w3(3);

    cout   < <   v.size()   < <   endl;
    v[0]   =   w1;
    cout   < <   v.size()   < <   endl;
    v[1]   =   w2;
    cout   < <   v.size()   < <   endl;
    v[2]   =   w3;
    cout   < <   v.size()   < <   endl;

    return   0;
}

Segmentation   fault

不是说vector可以自动增长的么???


------解决方案--------------------
v[0] = w1;
靠,里面什么东西都没有还v[0]?
v.push_back(w1);
下面同理
------解决方案--------------------
自动增长 是里面的内容多了,超过容量了会自动重新分配内存并拷贝
------解决方案--------------------
vector的自动增长是靠push_back/insert接口实现的。
看东西,其实不能看半句啊。
------解决方案--------------------
push_back 是正解。
------解决方案--------------------
push_back是增加,当然也可以构造的时候多分配一点,