Slide 14
Slide 14 text
shared_ptr ͷσϦʔλ
• ҟͳΔσϦʔλΛ࣋ͭෳͷ shared_ptr Λ1
ͭͷίϯςφͰཧͨ͠Γɼޓ͍ʹೖͰ͖
ͨΓ͢Δ
!
!
!
• ݸਓతʹ͜ΕͰԿ͕خ͍͠ͷ͔Α͔͘Βͳ͍Ͱ͕͢ɼͲ͏ͤ control block ࢀরΧϯτͳͲΛผ్ׂ
ΓͯΔͳΒ type erasure Ͱফ͠ͱ͚ͱ͍͏ײ͡ͳͷ͔ͳ…
auto customDeleter1 = [](Widget *pw) { ... };
auto customDeleter2 = [](Widget *pw) { ... };
!
std::shared_ptr pw1(new Widget, customDeleter1);
std::shared_ptr pw2(new Widget, customDeleter2);
!
std::vector> vpw{ pw1, pw2 };
Q