2014-05-21 1 views
0

변수는 데이터 형식으로 정의해야하므로 리터럴과 const에는 적용되지 않는 이유를 이해할 수 없습니다. const의 값을 int 또는 double 등으로 저장해야하는지 여부를 프로그램에서 어떻게 알 수 있습니까? 그리고 산술 연산자를 사용하여 두 const의 합계를 계산하는 방법은 무엇입니까? 나는 그것이 3 (2, 3, 4) 숫자의 순서로 저장되면 234에서 어떻게 숫자 값을 추출 하는지를 의미합니다. 이 숫자는 데이터 형식에 의해 처음 변환되는 경우 어떻게 값을 가질 수 있습니까? 내 말은 그 숫자를 입력 할 때 다른 문자로 저장되지 않는다는 의미입니다. 나는 내가 틀렸다는 것을 알고 있지만 그 이유를 말해줘.리터럴과 상수를 프로그램에서 해석하고 저장하는 방법

답변

0

리터럴 유형이 있습니다. 예 :

  • 234 유형은 int입니다.
  • 23.4의 유형은 double입니다.
  • 'a'의 유형은 char입니다.
  • "hello, world"의 유형은 const char[13]입니다.

리터럴 형식은 접두사 및 접미사로 수정할 수 있습니다. 예 :

  • 234u 유형은 unsigned int입니다.
  • 23.4f의 유형은 float입니다.
  • L'a'의 유형은 wchar_t입니다.
  • L"hello, world"의 유형은 const wchar_t[13]입니다.

C++ 11에는 추가 종류의 내장 리터럴과 사용자 정의 리터럴이 추가됩니다.

모든 문자에는 잘 정의 된 유형이 있습니다. 물론 234과 같은 리터럴은 숫자 형식 인으로 쉽게 변환되므로 double x = 234;을 사용할 수 있습니다. 이 문맥에서 234은 항상 int이며, 그렇지 않은 경우는 double이 아닙니다.

관련 문제