vector定义成指针有什么坏处,遍历会有影响吗

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果

vector定义成指针有什么坏处,遍历会有影响吗
有什么需要注意的地方?

1、vector定义成指针类型需要new vector
2、vector定义成指针类型则不能使用下标访问元素了
3、需要注意vector中的元素,如果vector定义成指针,里面的元素也是指针,需要注意push的类型
4、遍历时只能通过迭代器或者v->at(i);去遍历
5、和普通指针一样需要释放

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

int main()
{
    vector<int> *v = new vector<int>;
    v->push_back(1);
    v->push_back(2);
    v->push_back(3);
    
    auto ptr = v->begin();
    cout<<endl;
    for(;ptr!=v->end();ptr++)
        cout<<*ptr<<endl;
    for(int i=0;i<v->size();i++)
        cout<<v->at(i)<<endl;
    
    vector<int*> *vp = new vector<int*>;
    int* a = new int(1);
    int* b = new int(2);
    int* c = new int(3);
    vp->push_back(a);
    vp->push_back(b);
    vp->push_back(c);
    cout<<endl;
    auto ptrv = vp->begin();
    for(;ptrv!=vp->end();ptrv++)
        cout<<*(*ptrv)<<endl;
    for(int i=0;i<vp->size();i++)
        cout<<*(vp->at(i))<<endl;
    delete v;
    delete vp;
   return 0;
}

指向一个栈上的vector变量,栈上的变量会因为{}范围的不同而被自动释放(所谓的局部变量)。

更多请参考博客:https://blog.csdn.net/sandalphon4869/article/details/98452007

vector的类型为指针类型时要注意指针所指向的元素有无发生变化,否则vector中的元素会改变
其他的没啥了,望采纳!谢谢