weak_ptr 질문
574
작성한 질문수 56
weak_ptr은 래퍼런스 카운트를 증가시키지 않는 포인터로 알고 있는데요
강의 내용에는 week_ptr도 래퍼런스 카운트가 있는것처럼 강의 해주셔서 햇갈리네요..
존재하긴하나 증가 시키지만 않는건가요???
week_ptr은 래퍼런스 카운트를 증가시키지않는 약한(?) 포인터로 가리키고 있다가
가리키고 있는 메모리가 유효한지 확인하기 위해 shared_ptr로 접근해보고
유효한지 아닌지 판단한다고 알고있습니다 어떤게 맞는걸까요??
제가 틀리게 알고있던걸까요?? 오래돼서 했갈립니다 ㅠㅠ
답변 1
0
refCount에는 2가지 종류가 있는데
[객체의 생명을 관리하는 refCount]와 [refCount을 관리하는 수치를 담는 메모리 블록을 관리하는 refCount]
이 중 weak_ptr는 후자에 영향을 주지만 전자에는 영향을 주지 않습니다.
마지막으로 이 부분은 직접 F12로 타고 들어가서 코드를 살펴보면 알 수 있습니다.
0
void _Incwref() noexcept { // increment weak reference count
_MT_INCR(_Weaks);
}weak_ptr = shared_ptr 대입연산할때
weak refrence count를 늘리고 있던데
실제로 어디에쓰이는지 확인해보려했는데 어디에 쓰이고있는질 모르겠습니다..
이걸 [refCount을 관리하는 수치를 담는 메모리 블록을 관리하는 refCount] 로 이해하면 될까요??
소스코드와 관련하여 질문드립니다
0
70
1
map 컨테이너의 emplace 함수에 대해
0
115
2
시작이 안되네요...!
0
99
2
EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유
0
127
1
리틀 엔디안 장점 질문합니다.
0
131
1
메모리 창에 주소를 넣었는데 영어 꺠짐
0
125
1
타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.
0
94
2
map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.
1
141
2
hello world 부터 오류 ㅠㅜ
0
190
1
지역변수가 스택? 레지스터
0
132
2
마지막 문제 질문드립니다.
0
165
2
메모리창이 비활성화됩니다.
0
98
1
이중포인터 강좌 부분 질문있습니다.
0
146
1
2를 더하는 이유
0
133
1
메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다
1
111
1
해당 코드는 왜 오류가 날까요?
0
156
1
마지막 문제 질문 있습니다.
0
119
1
강의 마지막부분에 질문이 있습니다.
0
192
2
Field초기화
0
141
1
virtual과 override 차이
0
315
2
3:30 참조자 리턴
0
168
1
map 찾기
0
159
1
프로그램 질문드려요
0
261
1
캐스팅 질문
0
139
1





