본문 바로가기

분류 전체보기75

13. 포인터(Pointer) 다른 것들도 마찬가지지만 포인터는 특히 자주 수정될 예정이다. 구름 속에서 손을 젓는 기분으로 사용하고 있는데 이상하게 코드는 작동한다.. 변수 주소를 저장하는 변수 CPP이 게임 개발에서 아직도 현역인 이유는 바로 이 포인터 때문일 것이다. C부터 이어진 포인터의 개념 자체는 대단히 짧고 명료한데 단지 변수 주소를 저장할 뿐이다. 그 이상의 기능도 그 이하의 기능도 존재하지 않는다. 문제는 이 기능을 응용하는 경우의 수가 엄청 많고 거의 대부분의 다른 기능들과 융합할 수 있다. 조금은 복잡해 보이는 아래의 코드를 살펴보자. ▼ 포인터의 기본적인 예시 int iValue = 10; wprintf(L"== iValue 값 ==\n"); wprintf(L" iValue[%p] = %d\n\n", &iValu.. 2021. 1. 14.
12. 열거형(Enum) 무조건 연속적으로 정의하는 열거형 ▼ enum 예시 enum class CharacterState { IDLE = 0, WALK, RUN, JUMP, ATTACK }; CPP에는 열거형에는 Enum과 Enum Class 가 있다. Enum Class는 CPP 11에서 추가된 기능으로 Enum의 기능에서 namespace의 기능을 더한 것이라고 한다. 즉 enum들끼리 보다 정확하게 구분 짓는데 도움을 줍니다. 정확한 예시를 위해 아래의 코드를 살펴보자. ▼ 기존 enum의 namespace 문제 enum RAINBOW_COLOR{ RED, ORANGE, YELLLOW, GREEN, BLUE, INDIGO, PURPLE }; enum COLOR{ RED }; int main() { int color = R.. 2021. 1. 14.
1. [CPP]특수문자 타일 맵 생성기 github.com/gyunam-park/CPP_TOY_PROJECT/tree/main/CPP_ARRAY/TILE_MAP_GENERATOR gyunam-park/CPP_TOY_PROJECT This is where I am collecting toy projects to review what I learned while studying CPP. - gyunam-park/CPP_TOY_PROJECT github.com ▼ 실행 화면 고정 크기 배열(Array)을 이용한 특수문자 타일 맵 생성기 오늘은 배열과 문자열을 배워서 이걸 응용하여 아주 간단한 특수문자 타일 맵 생성기를 만들어 보았다. 너무 간단한 프로그램이라 이론이랄 것도 없지만 요약하자면 아래와 같다. 프로그램 동작 순서 1. 타일을 저장할 배열.. 2021. 1. 13.
11. 고정 크기 배열(Array) 가로로 늘여놓다, 배열 ▼ CPP에서 배열 코드 #include #include int main() { std::array arr = {0, 1, 2, 3, 4}; for (int i = 0; i < arr.size(); i++) { printf("ARR[%d] = %d\n", i, arr[i]); } return (0); } C에서 사용하는 내장 고정 배열도 CPP에서 사용할 수 있지만 권장 사항은 아니다. CPP 11 이후에서는 표준 라이브러리에 포함된 의 std::array를 사용하기를 권장한다. 기존의 내장 고정 배열과 비교해서 메모리를 덜 먹으며 함수에 전달될 때 포인터로 형 변환되지 않는다는 장점이 있다. 고정 크기 배열 선언 ▼ std::array의 선언 방법은 크게 다르지 않다. #incl.. 2021. 1. 13.