std::unique ptr
Megjelenés
(unique ptr szócikkből átirányítva)
Főnév
std::unique ptr (tsz. std::unique ptrs)
A std::unique_ptr magyarul egyedi mutató vagy egyedi tulajdonú okosmutató, amely egy dinamikusan létrehozott objektum kizárólagos birtoklásáért felelős.
Mit jelent pontosan?
- Kizárólagos tulajdon: Egy adott
unique_ptrbirtokolja az objektumot, és amikor aunique_ptrkimegy a hatóköréből (például eléri a blokk végét, vagy explicit módon felszabadítjuk), automatikusan felszabadítja a memóriát.
- Nem másolható: Egy
unique_ptrnem másolható, csak áthelyezhető (move semantics). Ez biztosítja, hogy mindig csak egyetlen mutató hivatkozhat ugyanarra az erőforrásra. - Automatikus memória kezelés: Megakadályozza a memóriaszivárgást, mert automatikusan törli az általa birtokolt objektumot, ha megszűnik létezni.
Példa C++ kódban:
#include <memory>
#include <iostream>
class Pelda {
public:
void kiir() { std::cout << "Hello, vilag!\n"; }
};
int main() {
std::unique_ptr<Pelda> mutato = std::make_unique<Pelda>();
mutato->kiir();
// mutato automatikusan felszabadul, mikor eléri a blokk végét
}
Mikor hasznos?
- Amikor biztosan akarjuk tudni, hogy ki birtokolja az objektumot.
- Memória- vagy erőforrás-kezeléskor, hogy elkerüljük a memóriaszivárgásokat vagy más erőforrás problémákat.
- A modern C++ programozásban széleskörűen ajánlott, mert egyértelműbb és biztonságosabb kódot eredményez.
- std::unique ptr - Szótár.net (en-hu)
- std::unique ptr - Sztaki (en-hu)
- std::unique ptr - Merriam–Webster
- std::unique ptr - Cambridge
- std::unique ptr - WordNet
- std::unique ptr - Яндекс (en-ru)
- std::unique ptr - Google (en-hu)
- std::unique ptr - Wikidata
- std::unique ptr - Wikipédia (angol)