C ++에서 유형 변환을 가장 잘 구현하는 방법은 무엇입니까?



이 기사에서는 C ++의 유형 변환에 대해 소개하고 이에 대한 자세한 프로그래밍 데모를 따라갑니다.

이 기사에서는 Type Conversion In이라는 또 다른 흥미로운 주제를 소개합니다. C ++ 자세한 실제 데모를 따라 가십시오. 이 기사에서는 다음 사항을 다룰 것입니다.

그럼 시작하겠습니다.





C ++에서 형식 변환

유형 변환은 한 유형에서 다른 유형으로의 변환을 의미합니다. 유형 변환의 기본 아이디어는 한 유형의 변수를 다른 유형의 변수와 호환 가능하게 만들어 작업을 수행하는 것입니다. 예를 들어, 두 변수의 합을 찾으려면 하나는 int 유형이고 다른 하나는 float 유형입니다. 따라서 합계를 찾기 위해 둘 다 float 유형으로 만들려면 cast int 변수를 float로 입력해야합니다. 이 블로그에서는 C ++에서 유형 변환을 수행하는 방법을 배웁니다.

C ++에는 암시 적 유형 변환과 명시 적 유형 변환의 두 가지 유형 변환이 있습니다.



암시 적 유형 변환

암시 적 형식 변환 또는 자동 형식 변환은 컴파일러가 자체적으로 수행합니다. 사용자가 한 유형에서 다른 유형으로 변수를 유형 변환하는 데 필요한 외부 트리거는 없습니다.

이는 표현식에 둘 이상의 유형의 변수가 포함 된 경우 발생합니다. 따라서 이러한 시나리오에서는 데이터 손실을 방지하기 위해 자동 유형 변환이 발생합니다.자동 유형 변환에서는 표현식에있는 모든 데이터 유형이 데이터 유형이 가장 큰 변수의 데이터 유형으로 변환됩니다.

다음은 자동 유형 변환의 순서입니다. 또한 유형 변환을 위해 최소에서 최대 데이터 유형으로 말할 수 있습니다.



메서드 오버로딩과 메서드 재정의의 차이점

bool-> char-> short int-> int-> unsigned int-> long-> unsigned-> long long-> float-> double-> long double

암시 적 변환은 부호있는 형식이 암시 적으로 부호없는 형식으로 변환 될 때 부호가 손실 될 수 있고 long이 암시 적으로 float로 변환 될 때 오버플로가 발생할 수있는 등의 정보를 잃을 수 있습니다.

이제 C ++에서 암시 적 형식 변환이 작동하는 방식을 이해하는 예제를 살펴 보겠습니다.

#include using namespace std int main () 12w {int int1 = 100 // integer int1 char char1 = 'c'// character char1 // char1은 ASCII 값 'c'를 사용하여 암시 적으로 int로 변환됩니다. 즉 99 int1 = int1 + char1 // int1은 암시 적으로 float로 변환됩니다. float flt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

산출

int1 = 199

char1 = c

flt1 = 201.7

다음으로이 C ++ 문서의 형식 변환에서

명시 적 유형 변환

명시 적 유형 변환 또는 유형 캐스팅은 사용자 정의 유형 변환입니다. 명시 적 유형 변환에서 사용자는 한 유형의 변수를 다른 유형으로 변환합니다. 명시 적 형식 변환은 C ++에서 두 가지 방법으로 수행 할 수 있습니다.

  • 할당으로 변환
  • Cast 연산자를 사용한 변환

이제 한 유형을 다른 유형으로 명시 적 유형 캐스팅하는 각 방법을 살펴 보겠습니다.

할당으로 변환

이 유형 변환에서 필요한 유형은 괄호 안의 표현식 앞에 명시 적으로 정의됩니다. 데이터 손실은 명시 적 유형 캐스팅에서 발생합니다. 강력한 주조로 간주됩니다. 예를 살펴 보겠습니다.

#include using namespace std int main () {double dbl1 = 8.9 // double에서 int 로의 명시 적 변환 int res = (int) dbl1 + 1 cout<< 'Result = ' << res return 0 }

산출

결과 = 9

다음으로이 C ++ 문서의 형식 변환에서

Cast 연산자를 사용한 변환

캐스트 연산자는 한 데이터 유형이 다른 데이터 유형으로 변환되도록하는 단항 연산자입니다. C ++에는 Static Cast, Dynamic Cast, Const Cast 및 Reinterpret Cast의 네 가지 유형의 캐스팅이 있습니다.

  • 정적 캐스트 - 이것은 사용할 수있는 가장 간단한 유형의 캐스트입니다. 업 캐스트뿐만 아니라 다운 캐스트도 수행합니다. 컴파일 타임 캐스트입니다. 변환중인 객체가 대상 유형의 전체 객체인지 확인하는 검사는 런타임 중에 수행되지 않습니다.
  • 다이나믹 캐스트 – 형식 변환의 결과가 대상 포인터 형식의 유효하고 완전한 개체를 가리키는 지 확인합니다.
  • Const Cast – 객체가 일정하거나 일정하지 않은지 여부를 조작합니다. 상수를 설정하거나 제거해야합니다.
  • 캐스트 재 해석 - 모든 포인터 유형을 관련없는 클래스라도 다른 포인터 유형으로 변환합니다. 포인터가 가리키는 포인터 타입과 데이터가 같은지 확인하지 않습니다.

정적 캐스트의 예를 살펴 보겠습니다.

#include using namespace std int main () {float flt = 30.11 // 캐스트 연산자 사용 int int1 = static_cast (flt) cout< 

산출

30

이것으로 C ++의 유형 변환에 대한이 기사의 끝으로 이동합니다.이 정보가 유익하고 도움이 되었기를 바랍니다. 유사한 주제에 대한 더 많은 자습서를 기대해주세요. 교육 프로그램을 확인해보세요.o 다양한 응용 프로그램과 함께 jQuery에 대한 심층적 인 지식을 얻으면 연중 무휴 지원 및 평생 액세스가 가능한 라이브 온라인 교육.

질문이 있으십니까? 이 기사의 댓글 섹션에서 언급하시면 다시 연락 드리겠습니다.