Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Hiermee definieert u een bloktoewijzing die geheugenblokken van één grootte toewijst en de toewijzing ervan ongedaan maakt.
Syntaxis
template <std::size_t Sz, std::size_t Nelts = 20>
class cache_chunklist
Parameterwaarden
Sz
Het aantal elementen in de matrix dat moet worden toegewezen.
Opmerkingen
Deze klassesjabloon maakt gebruik van operator nieuw voor het toewijzen van segmenten van onbewerkt geheugen, subtoewijzingsblokken om opslag toe te wijzen voor een geheugenblok wanneer dat nodig is; het slaat de toewijzing van toegewezen geheugenblokken op in een afzonderlijke gratis lijst voor elk segment en maakt gebruik van operator delete om de toewijzing van een segment ongedaan te maken wanneer geen van de geheugenblokken wordt gebruikt.
Elk geheugenblok bevat Sz-bytes aan bruikbaar geheugen en een aanwijzer naar het segment waartoe het behoort. Elk segment bevat Nelts geheugenblokken, drie aanwijzers, een int en de gegevens die de operator nieuw en operator verwijderen vereisen.
Constructeurs
| Constructeur | Beschrijving |
|---|---|
| cache_chunklist | Maakt een object van het type cache_chunklist. |
Functies voor leden
| Lid, functie | Beschrijving |
|---|---|
| toewijzen | Wijst een blok geheugen toe. |
| toewijzing ongedaan maken | Er wordt een opgegeven aantal objecten uit de opslag vrijgemaakt vanaf een opgegeven positie. |
Behoeften
Rubriek:<toewijzingen>
Naamruimte: stdext
cache_chunklist::toewijzen
Wijst een blok geheugen toe.
void *allocate(std::size_t count);
Parameterwaarden
aantal
Het aantal elementen in de matrix dat moet worden toegewezen.
Retourwaarde
Een aanwijzer naar het toegewezen object.
cache_chunklist::cache_chunklist
Maakt een object van het type cache_chunklist.
cache_chunklist();
cache_chunklist::d eallocate
Er wordt een opgegeven aantal objecten uit de opslag vrijgemaakt vanaf een opgegeven positie.
void deallocate(void* ptr, std::size_t count);
Parameterwaarden
ptr
Een aanwijzer naar het eerste object dat de toewijzing van de opslag ongedaan moet worden gemaakt.
aantal
Het aantal objecten dat uit de opslag moet worden toegewezen.