new로 생성한 객체를 스마트 포인터에 저장하는 코드는 별도의 한 문장으로 만들자

Bogoomi·2022년 6월 7일
0

EffectiveC++

목록 보기
3/24

항목17 - new로 생성한 객체를 스마트 포인터에 저장하는 코드는 별도의 한 문장으로 만들자

C++의 연산 실행 순서는 다른 컴파일러들에 비해 자유도가 높다.
때문에 계획과는 다르게 연산이 진행될 수 있어 메모리 누수가 발생할 수 있다.
(매개변수의 초기화가 언제 발생 되는지 알 수 없어서 RALL 객체에 먼저 넣어야함)

해결책
객체 생성 후, 스마트 포인터에 저장한 다음에 스마트포인터로 사용하라는 내용이다.

잊지말자!
new로 생성한 객체를 스마트 포인터로 넣는 코도는 별도의 한 문장으로 만들자.
그렇지 않으면 자원 누출이 일어난다.

profile
개에에에바알

0개의 댓글