INT는의 m = 3 + 45.6; //48.6000000000 48 소수 부분이 절단 된 절단
// INT K = 5 % 3.2; 컴파일러 에러
INT의 K = 5 % (INT) 3.2] // C의 언어 스타일 캐스트하지만 정확하게 전달 될 수 있도록 데이터를 프로그래머 필요
INT의 K = 5 % INT (3.2) (하나 개는 C 언어 스타일 캐스트) // 함수 스타일 캐스트
INT의 K = 5 % (INT) "DDDD는"; // C 언어 스타일 캐스트,하지만 결과는 확실히 잘못
// 그래서 C 스타일은 안전하지 않은 유형 주조 캐스트
// C는 ++은 C 스타일 캐스트를 지원하지만 4 C ++ 캐스트는 서로 다른 목적으로 사용되었다 제공
, 코드 작성을 용이하게하기 위해 더 나은 유형 검사 메커니즘을 // 목적은 의미와 기능의 풍부한을 제공하는 것입니다 및 유지 보수
1.static_cast
2.dynamic_cast
3.const_cast
4.reinterpret_cast
라고 "라는 캐스트"네 개의 캐스트
1.static_cast 정적 변환기 (C 스타일 캐스트하는 것으로 이해 될 수 있지만, 컴파일러의 적법성을 확인한다)
// 일반적인 형태
// 캐스트 이름 <유형> (표현) 1.static_cast : 정적 컨버터 (필수 C 스타일의 혁명으로 이해 될 수있다
변경할 수 있지만, 컴파일러는 그 적법성을 확인합니다)
그것은 사용할 수 있습니다
. (예컨대 부동 소수점 형 스위치 정수) 변환의 관련 종류
, I는 = static_cast <INT> 100.0 값 int
. B는 서브 클래스 전환 상위 클래스 (상속)
포인터 및 다른 포인터 * 사이 c.void 변환 (것으로 ) * 포인터 형 무효 캐스팅
가능
가. 일반적으로 포인터의 다른 유형 사이의 변환에 사용하지
2.dynamic_cast : 런타임 유형을 식별 주로 사용 검사.
그것은 주로 (상위 서브 타입 오브젝트 유형에 대한 포인터)를 부모 종류와 하위 간의 변환에 사용
3.const_cast는 : 제거 포인터 또는 참조 CONST (컴파일 시간 형식 변환) 속성의 다른 유형간에 변환 할 수없는
4. reinterpret_cast (관계없이 변환 처리의 종류)을 재 해석 밀링있다 열악한 보안
통상적으로 두 종류의 변환에 사용되는
정수 변환에 대한 포인터.
다른으로 포인터 타입 B. 포인터의 유형입니다.
다. 정수에 대한 포인터