Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 값/참조/주소에 의한 전달
- 범위 기반 for문
- 괄호 검사 프로그램
- const화
- LAN의 분류
- 운영체제 기능
- C언어 계산기 프로그램
- string유형
- 네트워크 결합
- r-value참조자
- 입출력 관리자
- 백준 파이썬
- const l-value참조자
- 문자형 배열
- getline()함수
- 프로그래머스 푸드 파이트 대회
- 회전 및 자리 이동 연산
- 알고리즘 조건
- 원형 연결 구조 연결된 큐
- 주기억장치
- 유형 변환
- 프로그래머스 배열만들기4
- C언어 스택 연산
- l-value참조자
- c언어 괄호검사
- auto 키워드
- C언어 덱
- 논리 연산
- 문제해결 단계
- IPv4 주소체계
Archives
- Today
- Total
chyam
[c++] - const 본문
const
- 한번 정하면 값이 변하지 않음.
- 자료형의 앞이나 뒤에 const를 붙여준다.
- 변수를 정의할때 반드시 초기화 해야한다. 할당을 통해 값을 변경할 수 없음.
const double gravity { 9.8 };
int const age { 22 };
const double gravity { 9.8 };
gravity = 9.9; // 에러 발생
const double gravity; //에러 발생
런타임 상수
- 런타임이 되어서야 확인할 수 있는 상수.
- ex) 사용자의 입력
컴파일 시간 상수
- 컴파일 시간에 초깃값을 확인할 수 있는 상수.
- ex) const double gravity { 9.8 };
- => constexpr 사용해도됨.
포인터와 const
const int value = 5;
int* ptr = &value; // 에러 발생. const int* ptr = &value; 해야함.
*ptr = 6; // 에러 발생. const라서 값을 변경할 수 없음.
const int value = 5;
const int* ptr = &value;
int value = 5;
const int* ptr = &value; // 가능
value = 10; // 가능. value는 const가 아니니까 값을 수정해도된다.
int value = 5;
const int* ptr = &value; // 가능
*ptr = 6; // 불가능. 포인터부분이 const이므로 직접 수정할 수 없다.
int value = 5;
int value2 = 10;
const int* ptr = &value; // 가능
ptr = &value2; // 가능. 다른 값을 가리킬 수 있다.
상수 포인터
- 초기화 후에 가리키는 주소를 변경할 수 없는 포인터.
- 자료형 뒤에 const 사용
- 선언시 초기화하기. 항상 같은 주소 가리킴.
- 포인터 역참조하여 값 변경하는건 가능함
int value = 5;
int value2 = 10;
int* const ptr = &value;
ptr = &value2; // 에러 발생. 주소를 변경할수없음.
C++ 02.10 - 상수 (const, constexpr, and symbolic constants)
02.10 - 상수 (const, constexpr, and symbolic constants) 상수 (constant) 상수란 그 값이 변하지 않는 불변 값이다. 지금까지 본 변수들은 모두 언제든지 값이 변할 수 있었다. int x { 4 }; // initialize x with the value o
boycoding.tistory.com
위 블로그를 참조하였습니다.