stl中的push_back

时间:2023-03-08 21:15:12
stl中的push_back

v_data.push_back(pdata);
这句只是把指针pdata拷贝到 vector当中的一个指针p1当中 注意是拷贝
也就是说当前pdata和p1指向同一个东西,p1在vector中。
并不是将结构体放入vector,这点需要明确。

这时如果你delete pdata 也就是释放了 pdata 所指向的内存,即p1所指向的内存,
导致的结果是p1依然在vector中,但是已经成为野指针,当你再次访问的时候就会报错。