Partager via


CSimpleStringT::FreeExtra

Libère toute mémoire supplémentaire précédemment allouée par la chaîne mais vous n'avez plus besoin.

void FreeExtra( );

Notes

Cela doit réduire la charge de mémoire consommée par l'objet chaîne. La méthode réaffecte la mémoire tampon à la longueur exacte retournée par GetLength.

Exemple

CAtlString basestr;
IAtlStringMgr* pMgr;

pMgr= basestr.GetManager();
ASSERT(pMgr != NULL);

// Create a CSimpleString with 28 characters
CSimpleString str(_T("Many sports are fun to play."), 28, pMgr);
_tprintf_s(_T("Alloc length is %d, String length is %d\n"),
   str.GetAllocLength(), str.GetLength());

// Assigning a smaller string won't cause CSimpleString to free its 
// memory, because it assumes the string will grow again anyway.
str = _T("Soccer is best!");
_tprintf_s(_T("Alloc length is %d, String length is %d\n"),
   str.GetAllocLength(), str.GetLength());

// This call forces CSimpleString to release the extra 
// memory it doesn't need.
str.FreeExtra();
_tprintf_s(_T("Alloc length is %d, String length is %d\n"),
   str.GetAllocLength(), str.GetLength());

Notes

La sortie de cet exemple est la suivante :

Alloc length is 1031, String length is 1024

Alloc length is 1031, String length is 15

Alloc length is 15, String length is 15

Configuration requise

Header: atlsimpstr.h

Voir aussi

Référence

CSimpleStringT, classe