본문 바로가기

TIL

Unreal 기초 C++(8) (자료구조 ) 이번에는 자료 구조를 간단히 알려드리겠습니다. 내용이 길며 찾기 쉽게 목차가 있습니다. ctrl + f로 글자찾기 로 찾으시면 편합니다.  목차 1. 자료구조1-1. 배열1-2. 리스트1-3. 스택1-4. 큐1.자료 구조 데이터를 저장하고 조직하는 방법을 의미합니다.종류가 여러가지이며각 자료구조마다 저장방식이 다르고 꺼내는 방식또한다릅니다. 1-1. 배열(Array)동일한 데이터 타입의 요소들이 연속적으로 저장되는 고정 크기의 데이터 구조입니다.메모리에서 인접한 공간에 저장되며 , 요소에 직접 접근이 가능합니다. 예)int arr[3] = {1,2,3};int a = arr[0]; // a == 1; 특징은 고정 크기라는 점입니다 선언할때 데이터의 타입과 크기를 지정해줘야하는데 초기화는 선언과 동시에 할.. 더보기
Unreal 기초 C++(7) (함수 포인터) 이번에는 함수 포인터에 대해 알아 볼겁니다. 저번에 포인터는 클래스 생성하는거와 변수 포인터에 대해 알아봤었지만함수 포인터에 대해서는 알아보지않았습니다.  포인터는 "주소"를 저장하는 거 였습니다. 함수포인터는 함수의 "주소"를 저장 하는 거겠죠? 함수 포인터 선언 방법은 아래와 같습니다 반환 타입 (*포인터 이름)(매개변수 타입,...); 함수 만드는거에서 좀 달라진 부분이 있습니다. int Add(int a ,int b){         retrun a + b;} 이게 우리가 알던 일반 함수이고 int (*mathodpointer) (int , int ); 함수명에서 *와 소괄호가 생긴것과매개변수명이 없다는 것,함수와는 다르게 내용없이 끝낸것이 다릅니다. //소괄호로 막아두었지만 사용할때는 그대로 m.. 더보기
Unreal 기초 C++ (5)(포인터, 클래스) 이번에는 포인터에 대해 배울겁니다. 포인터 c++에서 중요한 겁니다. 여기서는 또 메모리에 대해 설명해야되는데요 메모리는 주로 "힙 메모리" 와 "스택 메모리" 로 나뉩니다. Stack(스택, 정적 메모리)메모리는간단하게 메모리 할당과 해제가 빠른 메모리입니다.그런데 용량이 적어요 Heap Memory  (힙, 동적 메모리)메모리 할당과 해제가 스택보다 느립니다.그런데 용량이 많아요 스택은 주로 지역변수, 함수호출 등에 사용됩니다 지역변수는 나중에 전역변수 지역변수에 대해 알려드릴게요일단 함수호출!! 여기서 사용됩니다. 힙은 데이터를 저장할 때 사용합니다.클래스(객체)를 생성할때도 들어가고즉 저장하는 용도로 많이 사용된다고 생각하면 편합니다. 즉 스택은 주로 실행 , 힙은 주로 저장 둘로 나뉜이유 또 효.. 더보기
Unreal 기초 C++ (5)(클래스) 이번에는 클래스에 대해 배울겁니다.우리는 이제까지 변수 , 부호 쓰는법 , 함수 만들기 ,main의 존재를 알았습니다. 클래스는  객체 지향 프로그래밍의 핵심 요소로, 데이터와 동작을 캡슐화!!하여 코드의 재사용성과 유지보수성을 향상시킵니다. 우리는 c++파일을 (cpp , h) 한개의 클래스로 보면 좋습니다. main()은 한곳입니다. 즉 코드를 실행 시키는곳은 한곳이에요 그런데 main위에 함수가 여러개고 변수가 여러개고 예시에서는 적었지만갑자기 극단적으로 int 변수가 100개가 넘는다고 합시다 사실 극단적도 아닐거에요함수도 50개 정도 추가해줍시다 아마도 코드의 줄이 500줄 넘어서 읽기 싫어질정도로 많아질겁니다. 그걸!! 클래스는  좀 덜어주는 역할을 할 수있어요 예시) 파일명 : A.h cla.. 더보기
Unreal 기초 C++ (4)(함수) 이번에는 함수에 대해 알아보겠습니다. 함수란 간단하게 코드를 담은 블록으로 이해하면 좋습니다. 블록은 전에 말했듯이코드에서{ } 중괄호입니다.코드는 이 중괄호 안에 들어가있습니다. 언리얼은 아직 아니니 C++에서 코드를 디버깅하기위해서는 int main(){ return 0;}main함수 중괄호 안에 코드들이 실행이되는겁니다. 함수는 여기 main안에 불려져야됩니다.함수안에 함수를 생성 하는게아닌 중괄호 밖에서 함수를 생성하고 함수를 불러오는 겁니다. 구조는 아래와 같습니다. 반환형 함수이름(매개변수 매개변수명){ 코드return 반환값;} 여기서는 이제 반환 이라는 개념이 있습니다.함수는 코드를 담고있으면서도 또 추가로 값을 전달 할 수도 있습니다. 함수는 간단하게 코드를 담고있는 박스입니다. 내가 사.. 더보기
Unreal 기초 C++ (3) 이번에는 조건문과 반복문을 알아보려합니다. 조건문  전에 말했던 논리형 즉 bool값 true 와 false이 두가지를 이용하여 코드의 실행 흐름을 결정합니다if  ,switch 이 두가지가 조건문입니다. if 사용법int a = 1;bool b = true;  if (a == 1      ){}if( b == false) {}if(b == true && a == 1){}여기서 중괄호 ( { } )는 블록이라 부릅니다 간단하게  중괄호 끝까지 코드를 실행시키면 끝납니다. 즉 코드가 담길 공간입니다.저 if 소괄호 즉 " 조건 " 이 충족 되면 조건문안에 중괄호 안에 코드를 실행이 됩니다. (즉 저안은 true가 되어야 실행)전에 배웠던 논리형 변수 혹은 비교 연산자, 논리 연산자를 사용하여 논리형으로 만.. 더보기