연습장

const와 메모리 구조 본문

언리얼 개발자/C++

const와 메모리 구조

도다람 2022. 9. 5. 12:51

주제: const와 메모리 구조


 

const

- constant의 약자인 const (변수를 상수화 한다고 한다.)

- 한 번 정해지면 절대 바뀌지 않을 값들에 const를 붙여준다.

- const를 붙였으면 초기값을 반드시 지정해줘야 한다.

- 보통 바뀌지 않는 값은 대문자로 지정해준다.

- 코드의 가독성이 높아진다.

#include <iostream>
using namespace std;

unsigned char flag;

const int AIR = 0; //공중부양상태
const int STUN = 1; //스턴상태
const int POLYMORPH = 2; //변이상태
const int INVINCIBLE = 3; //무적상태

int main(){

	flag = (1 << INVINCIBLE); //무적상태로 만든다

	flag |= (1 << POLYMORPH); //변이상태를 추가한다(무적+변이)

	bool invincible = ((flag & (1 << INVINCIBLE)) != 0); //무적인지 확인하고 싶다

	bool stun0rInvincible = ((flag & 0b1010) != 0); //무적이거나 스턴상태인지 확인하고 싶다

}

★데이터 영역과 스택영역

데이터를 어디에 선언하느냐?

// [데이터 영역]

//.data (초기값 있는 경우)
int a = 2;  

//.bss (초기값 없는 경우)
int b;  

//.rodata (읽기 전용 데이터)
const char* msg = "Hello World";  


int main(){

	int c = 3;  // [스택영역]
    
}

 

'언리얼 개발자 > C++' 카테고리의 다른 글

분기문  (1) 2022.09.12
유의사항 및 팁  (0) 2022.09.05
비트 연산과 비트 플래그  (0) 2022.08.07
비교 연산과 논리 연산  (0) 2022.08.01
산술 연산(데이터 연산)  (0) 2022.07.31
Comments