Page 19 -
P. 19

i4의 타입은 i3 + 7의 타입인 int와 같다. 비록 타입이 자동으로 정해지지만, 동일하게 유지하며

                   무엇이든 int로 변환되고 난 이후에 i4에 할당한다. 나중에 고급 프로그래밍에서 auto가 얼마나
                   유용한지 살펴볼 것이다. 이 절에서와 같이 간단한 변수 선언에 대해서는 타입을 명시적으로 선언
                   하는 것이 좋다. auto는 3.4절에서 자세히 설명한다.




                   1.2.1  상수


                   C++에서 상수는 문법적으로 불변이라는 추가 속성을 갖는 특별한 변수다.


                   const int ci1 = 2;
                   const int ci3;                // 오류: 값을 할당하지 않음
                   const float pi = 3.14159;
                   const char cc = 'a';
                   const bool cmp = ci1 < pi;

                   상수는 변경할 수 없기 때문에 선언과 동시에 값을 반드시 설정해야 한다. 두 번째 상수 선언은 이

                   규칙을 위반하므로 컴파일러는 이러한 잘못된 행동을 용납하지 않을 것이다.
                   상수는 변수를 사용할 수 있는 곳에서 사용할 수 있다. 물론 값을 수정하지 않아야 한다. 한편, 설

                   명했듯이 상수들은 컴파일하는 동안 이미 그 값을 알고 있다. 이를 통해 다양한 최적화를 할 수 있
                   으며, 타입의 인수로 사용하기도 한다(이에 대해서는 나중에 5.1.4절에서 다시 설명한다).




                   1.2.2  리터럴


                   2나 3.14 같은 리터럴도 입력할 수 있다. 간단히 말하자면 정수는 자릿수에 따라 int, long,
                                                                    12
                   unsigned long 타입으로 취급한다. 소수나 지수(즉, 3e12≡3∙10 )는 double 타입으로 취급한다.
                   다른 리터럴 타입은 다음 표에 있는 접미사를 추가하면 된다.


                     리터럴        타입
                     2          int
                     2u         unsigned
                     2l         long
                     2ul        unsigned long




             030




         모던c++_09.indd   30                                                                     2017-12-11   오전 11:02:54
   14   15   16   17   18   19   20   21   22   23   24