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