Page 21 -
P. 21

16진수 리터럴은 0x 또는 0X라는 접두사를 붙이면 된다.


                   int h1 = 0x42;  // int h1 = 66;
                   int h2 = 0xfa;  // int h2 = 250;


              C+  +14  C++14는 0b 또는 0B라는 접두사를 붙이는 2진수 리터럴을 도입했다.

                   int b1 = 0b11111010;    // int b1 = 250;

              C+  +14  C++14에서는 길이가 긴 리터럴의 가독성을 향상하기 위해 아포스트로피(‘)로 숫자를 분리할 수
                   있다.


                   long d = 6'546'687'616'861'129l;
                   unsigned long ulx = 0x139'ae3b'2ab0'94f3;
                   int b = 0b101'1001'0011'1010'1101'1010'0001;
                   const long double pi = 3.141'592'653'589'793'238'462l;


                   문자열 리터럴은 char 배열로 할당한다.

                   char s1[] = "Old C style"; // 더 좋지 않다.

                   하지만 배열의 유일한 장점은 편하다는 것뿐이다. 그보다는 <string> 라이브러리의 string 타입

                   을 사용하는 게 더 낫다. string 타입은 문자열 리터럴에서 직접 생성할 수 있다.

                   #include <string>

                   std::string s2 = "In C++ better like this";

                   매우 긴 텍스트는 여러 개의 부분 문자열로 분할할 수 있다.

                   리터럴에 대한 자세한 내용은 사례들을 찾아보라.[43, 6.2절]

                   std::string s3 = "This is a very long and clumsy text"
                                    "that is too long for one line.";



                   1.2.3  축소하지 않는 초기화


                   long 타입의 변수를 큰 숫자로 초기화한다고 하자.

                   long l2 = 1234567890123;




             032




         모던c++_09.indd   32                                                                     2017-12-11   오전 11:02:55
   16   17   18   19   20   21   22   23   24   25