널 가능성 표시
없을 수 있는 값이면 pointer, 반드시 있어야 하면 reference가 더 정확할 때가 많다.
포인터 기초에서 가장 중요한 질문은 *와 & 문법보다 이 주소가 유효한 객체를 가리키는지, 그리고 해제 책임이 누구에게 있는지다.
없을 수 있는 값이면 pointer, 반드시 있어야 하면 reference가 더 정확할 때가 많다.
지역 변수 주소를 함수 밖으로 넘기면 해당 변수 수명이 끝난 뒤 dangling pointer가 된다.
해제 책임이 있다면 unique_ptr이나 shared_ptr로 바꾸어 코드에 정책을 드러낸다.
void draw(const Widget* widget) {
if (!widget) return;
widget->render();
overflow-wrap: break-word;
word-break: keep-all;
}