티스토리 뷰

프로그래밍/C++

const 기본

에어버스 2018. 12. 30. 12:57

const 는 왼쪽에 있는 것을 상수화 한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int* ip;
ip = new int[10];
ip[4]= 5;
 
int const* ip; // 왼쪽에 있는 int 를 상수화
ip = new int[10];
ip[4= 5// int 값을 변경할 수 없어 컴파일 에러
 
int* const ip = nullptr; // 왼쪽에 있는 * 를 상수화
ip = new int[10]; // * 값을 변경할수 없어 컴파일 에러
ip[4= 5// 컴파일 에러, null 포인터에 대한 역참조
 
int* const ip = new int[10]; // 왼쪽에 있는 * 를 상수화
ip[4]= 5;
 
int const* const ip = nullptr; // 값과 포인터 둘다 상수화
// 첫번빼 const 왼쪽에 있는 int 와 두번째 const 왼쪽에 있는 * 상수화
 
const int* ip; // 적용 예외, 우측에 있는 int 를 상수화
= new int[10];
ip[4= 5// int 값을 변경할 수 없어 컴파일 에러
cs

예외> const 가 문장 앞에 오는 경우(19행) 오른쪽에 있는것을 상수화 한다.

1
2
3
4
5
6
7
const int n = 0// 초기화 필수, // n = 0 안됨
 
const int* nn; 
nn = &n; // OK, // *nn = 0 안됨
 
int* const nnn = (int* const)nn; // 초기화필수
*nnn = 0// OK, // nnn = (int* const)&nn; 는 안됨
cs
 
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30