작성
·
477
0
Reader-Writer Lock에서
Read Lock과 Write Lock을 할 때
compare_exchange에서 OUT 키워드를 사용하는데 이 키워드를 왜 쓰는지 어떨 때 쓰는지 궁금합니다!!
if (_lockFlag.compare_exchange_strong(OUT expected, expected + 1))
답변 1
0
코드를 보면 #define OUT (아무것도 없음) 이렇게 되어 있는데요
말 그대로 아무것도 안 하는 키워드입니다 (?)
참조값을 넘기면 이게 단순 복사를 하기 싫어서 넘기는 것인지,
원본값이 바뀌는 것인지가 알기 힘들 때가 있어
참조값을 수정 목적으로 바꾸는 경우 힌트를 주기 위해 OUT 을 붙입니다.
저만의 유니크한 스타일은 아니고 이렇게 작업하는 경우가 꽤 있습니다.
의도를 표현하기 위함이었군요!! 감사합니다!