title: Can I delete pointers in destructor when stored in std::vector property?
body: <p>I don't want to use smart pointers.</p>
  
  <p>Her'es my code.</p>
  
  <pre><code>CCOLFile *pCOLFile = CCOLManager::getInstance()-&gt;parseFile(strCOLPath); // returns instance of CCOLFile
  // ...
  pCOLFile-&gt;unload(); // hoping to comment this out, and use destructor instead.
  delete pCOLFile;
  
  struct CCOLFile
  {
      std::string                     m_strFilePath;
      std::vector&lt;CCOLEntry*&gt;         m_vecEntries;
  };
  
  void                CCOLFile::unload(void)
  {
      for (auto pCOLEntry : m_vecEntries)
      {
          delete pCOLEntry;
      }
      m_vecEntries.clear();
  }
  </code></pre>
  
  <p>Is it safe in c++ to comment my call to CCOLFile::unload, and then move the code from the CCOLFile::unload method to the CCOLFile destructor?</p>