boost::shared_ptr은
적당한 시점에 알아서(?) delete가 되는 어마어마한 객체입니다!(원래는 boost 라이브러리이지만 C++11에도 포함이 되서 std::shared_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 |
'IT노트(구) > C/C++' 카테고리의 다른 글
Visual Studio에서 관리자 권한으로 실행되도록 빌드하는 방법 (0) | 2016.02.23 |
---|---|
(MFC) CMainFrame 크기 변경하는 방법 (0) | 2016.02.21 |
(C++) ifstream을 사용할 때 라인 단위로 출력하기(getline 이용) (0) | 2016.01.12 |
(C언어) 간단한 윈도우 스레드 예제(CreateThread 이용) (1) | 2016.01.11 |
(C++) boost::lexical_cast를 이용한 형변환 예제 (0) | 2016.01.11 |