Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 맨체스터생활
- Python
- 영국구직
- laravel
- 영국워홀
- 영국워킹홀리데이
- 영국생활
- 맨체스터일상
- 영국개발자
- 맨체스터
- 맨체스터 개발자
- 맨체스터근교
- 영국 워킹홀리데이
- 영어이메일
- 영국 워홀
- 해외취업
- 영국 배우자비자
- 영국코로나
- 맨체스터 트램
- 영국이직
- 영국 배우자비자 연장
- 맨체스터 일상
- 파이썬
- 맨체스터개발자
- 영국세금
- 영국 개발자
- 영국취업
- 영국일상
- 해외개발자
- php
Archives
- Today
- Total
맨체스터 사는 개발자
[Modern C++] Shared_ptr 과 make_shared 본문
Shared_ptr 및 make_shared 설명
1. shared_ptr이란?
- 객체 생성시 메모리를 가르키는 포인터들을 연결
- 기본적으로 포인터를 생성할 시 힙메모리에 할당이 되는데
- 추가적으로 힙메모리에 카운트를 생성하여 여러 포인터들을 손쉽게 관리해주는것
- 포인터가 늘어나면 카운트도 늘어나고 포인터가 줄어들어 카운트가 줄어들면 자동으로 자원할당을 해제해준다.
- 참조 카운트 수정작업은 굉장히 안정적으로 스레드에서 작동한다
그렇다면 왜? make_shared를 사용하는가?
1. shared_ptr을 사용하는것은 포인터를 더욱 쉽게 관리하기 위해서이다.
2. shared_ptr은 힙메모리에 포인터주소와 카운트를 기록한다.
3. make_shared는 힙메모리 중에서도 연속된 힙메모리 속에 주소와 카운트를 기록한다.
4. 기본형 shared_ptr은 포인터 주소 따로 카운트 따로 힙메모리를 구성하여 기록한다.
5. 그렇다면 make_shared, shared_ptr 무엇이 더 안전하고 빠르겠는가?
6. 당연히 정답은 make_shared
'개발 > C++' 카테고리의 다른 글
[C++] wstring 구분자로 split (0) | 2021.08.17 |
---|---|
[C++] vector 의 메모리 사용 (0) | 2021.07.01 |
객체지향 관련 영어 인터뷰 질문 및 답변 (0) | 2021.06.11 |
[맨체스터개발자/Modern C++] Structed Binding (0) | 2021.05.20 |
[맨체스터개발자/Modern C++] noexcept 키워드 (0) | 2021.05.20 |