I need someone with more of a clue than I have to tell me if this code snippet shows a memory leak.
Code:std::list< MyClass > myList; void myFunc ( std::list< MyClass > &myList, int numObjects ) { MyClass * myObj; for ( int i = 0; i < numObjects; ++i ) { myObj = new MyClass(); myList.push_back( *myObj ); } }
I have searched online trying to find out if the STL list makes a copy of the object when it's pushed onto the list, which in my mind would definitely cause a leak, or if it will push the actual object.
I know that I can change the type of data in the list to pointers to avoid this, but I want to know what is going on in this example.
Many thanks in advance for your help!



LinkBack URL
About LinkBacks


