16 Nisan 2018 Pazartesi

std::owner_less Yapısı

Giriş
Şu satırı dahil ederiz.
#include <memory>
std::weak_ptr nesneleri için < operator sağlar.

Constructor - std::weak_ptr
Şöyle yaparız
#include <map>
#include <memory>
#include <string>

struct Foo
{
};

using my_key = std::weak_ptr<Foo>;
using my_comp = std::owner_less<my_key>;

int main()
{
    auto m = std::map<my_key, std::string, my_comp>();

    auto p = std::make_shared<Foo>();
    auto p1 = std::make_shared<Foo>();

    m.emplace(p, "foo");
    m.emplace(p1, "bar");

    p.reset();
    p1.reset();
}


Hiç yorum yok:

Yorum Gönder