码迷,mamicode.com
首页 > 其他好文 > 详细

关于动态分配vector指针和使用shared_ptr的vector指针

时间:2014-07-22 22:38:16      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:style   color   使用   for   re   c   

动态分配的vector指针

vector<int> *get_num(int n)
{
    vector<int> *pv = new vector<int>(n+1);
    int i , x;
    for(i = 0; i < n; i++)
    {
        cin>>x;
        <span style="background-color: rgb(255, 0, 0);">(*pv)[i] = (x);
</span>    }
    return pv;
}

如果是动态分配的vector指针,那么当为vector中插入元素时只能用数组的方法(上述代码红色),如果用.push_back()函数的方法,就会出错,不知道为什么?


使用shared_ptr的vector指针

shared_ptr<vector<int>> get_num(int n)
{
    shared_ptr<vector<int>> pv = make_shared<vector<int>>();
    int i , x;
    for(i = 0; i < n; i++)
    {
        cin>>x;
        <span style="color:#ff0000;">(*pv).push_back(x);</span>
    }
    return pv;
}

如果是使用shared_ptr的vector指针,那么当为vector中插入元素时只能用.push_back的方法(上述代码红色),如果用数组插入的方法,就会出错,正好和动态分配的vector指针相反 , 不知道为什么?



关于动态分配vector指针和使用shared_ptr的vector指针,布布扣,bubuko.com

关于动态分配vector指针和使用shared_ptr的vector指针

标签:style   color   使用   for   re   c   

原文地址:http://blog.csdn.net/zengchen__acmer/article/details/38026237

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!