연습장
const와 메모리 구조 본문
주제: 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