본문 바로가기

프로그래밍79

[C++] 복습용 키워드 정리 - 3 상수는 변하지 않는 값을 의미한다. int a = 10에서 10은 a는 변수, 10은 상수이다. 따라서 변수값에 const를 붙이면 이 변수는 변하지 않는 값을 사용한다는 의미가 된다. 때문에 const를 붙인 변수는 선언과 동시에 초기화를 해주어야 한다. 함수에서 매개 변수로 특정 변수를 받아올 때, 값의 수정을 원치 않으면 const를 붙여 상수화 해주면 매개 변수로 값을 받아와도 이 값은 변하지 않게 된다. 이 상수는 포인터 변수에 사용을 할 때 사용법이 조금 달라진다. int* a라는 포인터 변수는 &Value라는 값을 가지고 있다. 이 포인터 변수가 만약 const int* a가 된다면 a가 가지고 있는 주소가 참조하는 값에 대한 상수화가 되기 때문에 값을 변경할 수 없다. 하지만 포인터 변수 .. 2023. 3. 12.
[C++] 복습용 키워드 정리 - 2 앞서 얘기한 전역 변수의 경우 하나의 cpp 내부에서만 사용이 가능하다. 이를 다른 cpp에서도 사용이 가능하게 하기 위해선 전역 변수를 선언할 때, extern 키워드를 추가하여 붙이면 다른 cpp에서도 해당 변수를 사용할 수 있다. Call by Value - 기본적으로 C언어에서 지원하는 방식이다. 함수를 호출할 때, 인자로 넘겨준 변수의 값을 함수 내부에 사용하는 매개 변수에 복사한다. 이 경우 원래 인자로 넘겨준 변수와 매개 변수로 사용하는 변수는 완전히 다른 변수이기 때문에 매개 변수의 값이 변경된다고 하더라도 인자로 넘겨준 변수의 값은 변하지 않는다. 원본 값을 변경할 필요가 없는 함수의 경우 Call by Value의 방식을 사용한다. Call by Address - 함수의 매개 변수로 포.. 2023. 3. 9.
[C++] 복습용 키워드 정리 - 1 아직 포스팅을 올리지 못했지만 한 달 프로젝트인 포켓몬스터 모작을 어렵사리 끝내어 이제 다시 공부의 시간이 돌아왔다. 단순히 어떤 공부를 할까를 고민하다가 문득 키워드 정리를 해야겠다 싶어 글을 작성하기 시작했다. 하루에 5 ~ 10개 정도의 키워드를 정리하여 포스팅을 올릴 생각이다. 지역 변수 - 스택 메모리에 저장되며 선언된 블록(스코프)에서만 사용이 가능한 변수, 블록이 소멸됨과 동시에 같이 사라진다. 전역 변수 - 선언된 cpp 내부에서 사용이 가능한 변수, 이를 다른 cpp와 공유하기 위해서는 extern이라는 키워드를 붙여 선언하여야 한다. 동적 변수 - 런타임 도중 공간이 할당되는 변수로 주로 포인터 타입의 변수에 할당과 동시에 주소가 입력되며 c에서는 malloc 함수, c++에서는 new.. 2023. 3. 8.
[Game] DirectX11 모작 - 포켓몬스터 한 달 간의 포트폴리오가 시작됐다. 요 근래 업로드가 뜸했던 이유도 이와 일맥상통하다. 지난 달 31일부터 약 한 달 좀 넘는 기간이 주어졌고, 나는 주제를 포켓몬스터로 하기로 마음 먹었다. 하지만 막상 생각을 했으나 두루뭉술한 계획은 곧 지치고 무너지기 마련이라 간략하게나마 계획을 세워보았다. 이런 긴 기간에 걸친 작업은 처음이다보니 내가 제대로 계획을 짠 건가에 대한 의구심이 들었지만 올바른지 아닌지는 내 앞으로의 행동으로 나타나기 때문에 그런 생각은 잠시 접어두었다. 모작으로 선정한 것은 기존 포켓몬스터 중에서 3세대에 해당하는 포켓몬스터 루비 버전이다. 잘 알려진 골드나 레드 그린이 아닌 루비 버전을 선정한 이유는 4세대 이전의 작품은 내게 익숙하다는 것이 첫 번째 이유이고, 당시 GBA로 출시한.. 2023. 2. 7.