[조건문]

 

별거 없음

 

switch-case는 정수 계열만 넣을 수 있다.

 

[반복문]

 

별거 없음

 

do-while은 쓰는걸 거의 본 적이 없음

for, while은 어셈블리 cmp, jmp로 이뤄져있다.

 

[열거형]

 

const를 이용한 상수화는 전역변수 선언시 VS 기준으로는 메모리에 잡히지 않고 상수로 대체가 되는 반면 주소값을 얻어오거나 스택영역에 선언될 경우 메모리에 잡히게 된다.

하지만 열거형은 완벽하게 상수로 대체되기 때문에 어디에 선언하던간에 메모리에 잡히지 않는다.

 

define보다는 enum을 사용하는게 낫다.

디버그 단계에서 define 내용이 날아가서 알아보기 어렵다.

 

정리하자면,

const 상수화는 컴파일러에 따라 메모리에 잡힐수도, 안잡힐수도 있다.

define 상수는 빌드시 전처리 단계에 하드코딩으로 박히기 때문에 디버그때 값의 추적이 어렵다.

enum은 메모리에 잡히지 않고 디버그에서 값의 추적도 잘 된다.

 

'C++ > Rookiss C++' 카테고리의 다른 글

[포인터] #2/2  (0) 2022.08.27
[포인터] #1/2  (0) 2022.08.26
[함수]  (0) 2022.08.26
[데이터 갖고 놀기]  (0) 2022.08.25
[어셈블리 언어 입문]  (0) 2022.08.25

+ Recent posts