본문 바로가기

IT노트(구)/C/C++

(C++) 간단한 boost::shared_ptr 사용 예제

boost::shared_ptr은

적당한 시점에 알아서(?) delete가 되는 어마어마한 객체입니다!(원래는 boost 라이브러리이지만 C++11에도 포함이 되서 std::s
hared_ptr로도 사용할 수 있습니다!)

기초 개념을 이해할 수 있도록 아주 간단한 예제를 소개합니다!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <cstdio>
#include <boost/smart_ptr.hpp>
 
class Person
{
public:
    char* getName() { return name; }
    void setName(char* _name) { name = _name; }
 
private:
    char* name;
};
 
int main(int argc, char **argv)
{
    boost::shared_ptr<Person> sPtr(new Person()); // shared_ptr 생성. 나중에 적당한 시점에 알아서 delete가 된다!
 
    sPtr->setName("James");
    printf("%s", sPtr->getName());
 
    return 0;
}
cs