[Basic C++] #26_const 포인터, const 참조

2022. 5. 15. 19:11· 언어/Basic C++
목차
  1.  
  2. [Basic C++] #26_const 포인터, const 참조

 

[Basic C++] #26_const 포인터, const 참조

 

C++ 개발에서 까다로운 문법 혹은 특별한 의미를 갖는 부분에 대해 알아보겠습니다.

"전문가를 위한 C"의 10 항목, "C++의 까다롭고 유별난 부분들"에 해당하는 내용입니다.

 


 

Overview

 

  1. 개념
  2. 코드

 

#0. 개념

1. const

const double PI = 3.141592;

PI = 3.14 // 컴파일 오류

 

Details

 

  • "const" 키워드는 상수 값을 갖는변수의 선언에 사용됩니다. 
  • 따라서, 위 코드처럼 변수 값의 변경을 시도하면 컴파일 에러를 발생시킵니다.

 

#1. 코드

1. const 포인터 예제

// 1. 포인터가 가리키는 데이터의 변경 방지
const int* ptr;	// == int const* ptr;
ptr = new int[10];
ptr[4] = 5;	// 컴파일 에러!!

// 2. 포인터 자체의 변경 방지
int* const ptr = nullptr;
ptr = new int[10]; // 오류!!!!

// 3. 둘 다 방지
const int* const ptr = nullptr;

 

Details

 

  • const 포인터의 경우, 포인터가 가리키는 데이터 값의 변경을 방지하기 위한 "const" 사용과 포인터 자체의 변경을 방지하기 위한 "const" 사용이 있습니다.
  • 물론, 두 가지 경우를 모두 적용하는 것 또한 가능합니다. 
  • 미리 작성된 코드를 분석하는 경우, 해석이 헷갈릴 공산이 있습니다.
  • 따라서, const 포인터가 사용된 코드를 읽을 경우 혹은 작성할 경우 오른쪽에서 왼쪽으로 읽으며 해석하면 
  • 포인터와 const 키워드 사용이 편리할것입니다.

 

 

 

'언어 > Basic C++' 카테고리의 다른 글

[Basic C++] #29_typedef  (0) 2022.05.22
[Basic C++] #27_상수 표현식, constexpr  (0) 2022.05.21
[Basic C++] #25_우측 값 참조, 이동 시맨틱  (0) 2022.05.14
[Basic C++] #24_우측 값 참조, 대입 연산의 좌항과 우항  (0) 2022.05.14
[Basic C++] #23_참조형 파라미터, 참조에의한 전달  (0) 2022.05.08
  1.  
  2. [Basic C++] #26_const 포인터, const 참조
'언어/Basic C++' 카테고리의 다른 글
  • [Basic C++] #29_typedef
  • [Basic C++] #27_상수 표현식, constexpr
  • [Basic C++] #25_우측 값 참조, 이동 시맨틱
  • [Basic C++] #24_우측 값 참조, 대입 연산의 좌항과 우항
Hardii2
Hardii2
Hardii2
개발 블로그
Hardii2
전체
오늘
어제
  • 분류 전체보기
    • 알고리즘
    • 웹 개발
      • Node.js
      • React
    • 게임개발
      • DirectX12
      • 관련 지식
      • Unreal C++
      • Unreal 블루프린트
    • 언어
      • Effective C++
      • Basic C++
      • 디자인 패턴
      • 자료구조
      • 기술 질문
    • 문제 풀이
      • BOJ 문제 풀이
      • Programmers 문제 풀이
      • geeksForgeeks 문제 풀이
    • 수학
      • 확률과 통계
      • 게임수학
    • 개인프로젝트
    • 그룹프로젝트
      • PM
      • Dev
    • Github

블로그 메뉴

  • 홈
  • 글쓰기

공지사항

인기 글

태그

  • DP
  • 최단 경로
  • C++
  • unreal
  • 기술 질문
  • 개발
  • 디자인 패턴
  • dfs
  • stl
  • 알고리즘
  • BFS
  • set
  • 우선순위 큐
  • Unreal Blueprint
  • Effective C++
  • 트리
  • programmers
  • BOJ
  • 정렬
  • 그래프

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
Hardii2
[Basic C++] #26_const 포인터, const 참조
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.