문맥 확인
대입, 연산, 인자, 반환 중 어디서 생기는지 본다.
컴파일러가 자동으로 바꿔도 되는지, 직접 캐스팅해야 하는지, 변환 자체를 피해야 하는지 순서대로 확인한다.
대입, 연산, 인자, 반환 중 어디서 생기는지 본다.
작은 범위에서 큰 범위로 가면 대체로 안전하다.
소수점 절삭, 부호 변경, 범위 초과를 점검한다.
필요하면 C++ 스타일 캐스팅으로 이유를 남긴다.
double d = 10;
값 표현이 넓어지는 경우에 적합하다.
int x{3.14};
중괄호 초기화는 위험한 축소를 오류로 만든다.
static_cast<double>(n)
정수 나눗셈 회피처럼 목적이 분명할 때 쓴다.
형 변환 손실 위험 신호 C-스타일 캐스팅이 필요해 보이면 어떤 종류의 변환인지 먼저 분리해서 더 좁은 C++ 캐스팅으로 표현한다.