I just started my container class and I had problems:
class Container { private: string* BasePointer; // The starting pointer. unsigned int Capacity; // The number of values the container can hold. public: Container() // Default constructor. { Capacity = 1; BasePointer = new string[Capacity]; } ~Container() // Destructor. { delete BasePointer; // Delete the container to prevent memory leaking. } };
I get an error Container Classes(26467) malloc: *** error for object 0x100100088: pointer being freed was not allocated. What am I doing wrong?
Container Classes(26467) malloc: *** error for object 0x100100088: pointer being freed was not allocated
XXX ptr = new XXX[size]it should be compared with the version of the array delete [] ptr, and not just with the regular one delete.
XXX ptr = new XXX[size]
delete [] ptr
delete
Read the free C ++ store management and, as James reminds us, follow the three rules in such cases.
you must use delete []
delete[] BasePointer;
, new[] delete, delete delete[], . .
new[]
delete[]
( ) . , , :
{ Container c1; Container c2(c1); } // c2.~Container(); // frees the memory pointed to by 'BasePointer' // c1.~Container(); // also frees the memory pointed to by 'BasePointer'.
BasePointer c1, c2 , .
BasePointer
c1
c2
:
std::vector , . Container, , , , , .
std::vector
Container
boost::scoped_ptr std::unique_ptr ( ) . , , .
boost::scoped_ptr
std::unique_ptr
Container, (, , , ).
, malloc . std::allocator, .
malloc
std::allocator
, , delete [] BasePointer;
, , - new - , delete[].
new
new T[size], :
new T[size]
typedef int T[42]; int* x = new T; delete[] x; // needs delete[] though you used new without []
, "" , , (, boost::scoped_array). , , , , op ...
Source: https://habr.com/ru/post/1778319/More articles:Failed to update general list content - genericsUsing setViewController from UINavigationController on iPhone doesn't behave correctly - objective-cUINavigationController with custom vertical button bar - iosPrevent jquery from adding its own callback - jqueryWhy doesn't ParentBackground work on a Windows Classic theme? (Delphi) - backgroundNHibernate - Session Singleton C # - c #Download "indexes" from Wavefront OBJ format - androidFailed to create project on eclipse cdt? g ++ not found! - gccGet values ββfrom XML to PHP array - xmlJmeter SAML Request load test - jmeterAll Articles