std::unique_ptr 에는 custom deleter 를 지정할 수 있다.
그중 람다식 지정에는 몇가지 방법이 있다.
// 1.functional std::unique_ptr<foo, std::function<void(foo*)>> foo_ptr1(new foo, [](foo* p) { delete p; }); // 2.decltype auto deleter = [](foo* p) { delete p; }; std::unique_ptr<foo, decltype(deleter)> foo_ptr2(new foo, deleter);
이것을 잘 활용하면 파일이나 소켓 핸들 관리에도 이용할수 있다.
'프로그래밍' 카테고리의 다른 글
[Modern C++ Design] 단위전략 기반의 클래스 디자인(2) (0) | 2015.06.19 |
---|---|
[Modern C++ Design] 단위전략 기반의 클래스 디자인(1) (0) | 2015.06.19 |
C++용 Microsoft 단위 테스트 프레임워크를 사용하여 C/C++용 단위 테스트 작성 (0) | 2015.04.18 |
[스크랩]C++11: unique_ptr (0) | 2013.10.04 |
[스크랩]tr1::shared_ptr (0) | 2013.09.18 |