c++ - 将指针分配给迭代器

标签 c++ stl vector

我需要解除分配,然后在 vector 迭代器中分配一个指针。如下所示将指针分配给迭代器是否可以?

   VEC_SECS m_vec;
   m_vec.push_back(new CSecs);       
   VEC_SECS::iterator iter = m_vec.begin();

   for (iter ; iter != m_vec.end(); ++iter)
   {
          CSecs *p = *iter;
          delete p;         
          p = new CSecs;
          *iter = p;
   }

最佳答案

是的,您没有将指针分配给迭代器,您只是覆盖了迭代器指向的元素。我认为你的 VEC_SECS 是一个指针 vector ,对吧?

关于c++ - 将指针分配给迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8849231/

相关文章:

c++ - 使用 CppUnit 链接测试库

c++ - 使用 Windows USB 虚拟 Com 端口识别断开连接事件

c++ - 如何从给定的 3D map 值中获取所有键?

c++ - 使用具有自定义数据结构的 STL 队列

c++ - 动态矩阵和 C++ : Segmentation Fault

c - GNU GSL 对两个 vector 进行排序

c++ - 在 C++ 中静默地将一个变量实例绑定(bind)到一个类?

c++ - Cuda 从黑白图像创建纹理对象

c++ - 为什么我们在 C++11 中使用 initializer_list?

c++ - 多次向 std::vector 添加相同的值(重复)