분류 전체보기
-
[Unreal 4] 변수 및 프로퍼티 정리게임 엔진/Unreal 2022. 5. 29. 17:37
언리얼 C++ 사용을 위한 기본 개념 블루프린트 / C++ 매핑 타입 기본 매핑 타입 기본적으로 블루프린트에서는 unsigned를 사용하지 않는다. 블루프린트와 연동할 필요가 있는 변수는 uint류와 double을 사용하지 않도록 주의해야 한다. Blueprint C++ Float float - double Integer int32 - uint32 Integer64 int64 - uint64 Bool bool 유틸리티 매핑 타입 Blueprint C++ String FString Name FName Vector FVector Rotator FRotator Transform FTransform 오브젝트 매핑 타입 Blueprint C++ Object UObject* Actor AActor* ActorCom..
-
JUNGOL/Intermediate_Coder/그래프탐색-BFS/4189 : 장기 2코딩 테스트/JUNGOL 2022. 5. 28. 11:17
Intermediate_Coder/그래프탐색-BFS/장기 2 문제 N×M장기판에 졸 한개와 말 한개가 놓여 있다. 말의 이동 방향이 다음과 같다고 할 때, 말이 최소의 이동횟수로 졸을 잡으려고 한다. 말이 졸을 잡기 위한 최소 이동 횟수를 구하는 프로그램을 작성해보자. 입력 형식 첫 줄은 장기판 행의 수(N)와 열의 수(M)를 받는다 (1 ≤ N, M ≤ 1000). 둘째 줄은 말이 있는 위치의 행(R), 열(C)의 수와 졸이 있는 위치의 행(S), 열(K)의 수를 입력받는다. 단, 장기판의 제일 왼쪽 위의 위치가 (1,1)이다. 각 행과 열은 R(1≤R≤N), C(1≤C≤M), S(1≤S≤N), K(1≤K≤M)이다. 출력 형식 말이 졸을 잡기 위한 최소 이동 횟수를 출력한다. 입력 예 9 9 3 5 2..
-
Effective C++...1일지 2022. 5. 27. 08:09
클래스 범위에 상수 정의 클래스 범위에만 상수를 적용할 때는 정적(static) 멤버로 만드는 게 좋다. 이때, 헤더(.h 파일)에는 선언만 존재해야 하고 정의는 구현(.cpp 파일)에 들어가야 한다. ※ 클래스 컴파일 시 상수 값이 필요한 경우는 예외로 둔다. // CostEstimate.h class CostEstimate { static const double FudgeFactor; } // CostEstimate.cpp const double CostEstimate::FudgeFactor = 1.35; 나열자 둔갑술(enum hack) 클래스 컴파일 시 상수 값이 필요한 경우 상수 대신 enum을 선언하여 사용할 수 있다. ※ enum은 쓸데없는 쓸데없는 메모리 할당이 발생하지 않는다. class..
-
[C++ 14] 제네릭 프로그래밍 / 추가된 기능과 기억해야 할 내용프로그래밍 기초/C++ 2022. 5. 26. 11:00
제네릭 프로그래밍 함수 템플릿 타입 결정 방법 = 대부분의 경우 암묵적으로 잘 변환되나 int와 unsigned 같이 모호한 경우 명시적으로 결정해 줘야 한다. template TPara max(TPara a, TPara b) { return a > b ? a : b; } unsigned u1 = 2; int i = 3; max(u1, i); // 에러 발생! max(int(u1), i); // Ok max(u1, i); // Ok 자동 리턴 타입 + 컴파일러에서 리턴 타입도 추론이 가능하게 되었다. template inline auto max(T a, U b) { return a > b ? a : b; } 네임 스페이스 네임 스페이스 한정 = 네임 스페이스로 특정 클래스, 변수 등을 선택해 사용할 수 ..
-
[Unreal 4] Visual Studio 세팅 정리게임 엔진/Unreal 2022. 5. 25. 20:38
언리얼 엔진용 Visual Studio 구성 엔진 버전 별 비주얼 스튜디오 버전 매칭 언리얼 엔진 버전 비주얼 스튜디오 버전 4.25 이상 VS 2019 4.22 이상 VS 2017 / VS 2019 4.15 이상 VS 2017 4.10 이상 VS 2015 4.2 이상 VS 2013 비주얼 스튜디오 설치 옵션 1. C++를 사용한 게임 개발 체크 2. 설치 세부 정보 - C++ 프로파일링 도구, C++ AddressSanitizer, Windows 10 SDK, IntelliCode, Unreal Engine 설치 관리자 체크 후 설치 권장 세팅 솔루션 구성의 드롭다운 메뉴 폭 늘리기 1. 툴바 우클릭 - 하단의 사용자 지정(C)... 클릭 2. 툴바 우클릭 후 하단의 사용자 지정(C)...[명령(O)]..
-
[C++ 14] 클래스 / 추가된 기능과 기억해야 할 내용프로그래밍 기초/C++ 2022. 5. 22. 11:32
클래스 생성자 = 단일 인수를 가지는 생성자는 대입 연산자로 생성해도 오버헤드가 발생하지 않는다. class complex { public: complex(double r = 0, double i = 0) : r(r), i(i) {} // ... } complex z4 = 4; // 과거에는 임시 변수를 생성해 오버헤드가 발생한다고 했으나 최신 컴파일러는 문제없이 최적화한다. = 생성자가 여러 개 일 때 다른 생성자를 불러 초기화하는 것을 허용한다. class complex { public: complex(double r, double i) : r{r}, i{i} {} complex(double r) : complex{r, 0.0} {} complex() : complex{0.0, 0.0} {} // ...
-
[C++ 14] C++ 기초 / 추가된 기능과 기억해야 할 내용프로그래밍 기초/C++ 2022. 5. 21. 16:54
C++ 기초 리터럴 + 2진수 표현 접두사가 추가되었다. 접두사 진수 타입 예제 10진수 값 없음 10진수 11 11 0 8진수 011 9 0x 16진수 0x11 17 0b 2진수 0b11 3 + 길이가 긴 리터럴의 자릿수를 표현할 수 있도록 작은따옴표(')로 자릿수 구분이 가능해졌다. long d = 6'546'687'616'861'129l unsigned long ulx = 0x139'ae3b'2ab0'94f3; int b = 0b101'1001'0011'1010'1101'1010'0001; const long double pi = 3.141'592'653'689'793'238'462l; 축소하지 않는 초기화 = 큰 값을 작은 크기의 변수로 초기화할 때 축소 변환하지 않고 오류를 발생시키는 초기화 방..
-
JUNGOL/Intermediate_Coder/그래프탐색-DFS/3230 : 두 로봇코딩 테스트/JUNGOL 2022. 5. 20. 20:33
Intermediate_Coder/그래프탐색-DFS/두 로봇 문제 2018년 강원도에서 새로운 동굴이 발견되었다. 이 동굴에는 총 N개의 넓은 방이 존재하며 좁은 통로로 서로 연결되어 있는 것으로 밝혀졌다. N개의 방은 1번부터 N번까지의 번호를 붙여 1번방, 2번 방, …, N번 방으로 부른다. 통로는 정확히 N-1개가 발견되었는데, 각각 서로 다른 두 방 사이를 연결시켜주며 중간에 다른 통로와 이어지는 경우는 없다고 한다. 또한 이 통로들을 이용하여 임의의 두 방 사이를 이동하는것이 가능하며, 임의의 두 방 사이를 이동할 때 같은 통로를 두 번 이상 지나지 않는 경로는 유일한 것으로 밝혀졌다. 새로 발견된 동굴을 조사하기 위해 동굴 탐사 로봇 두 대를 이용하기로 하였다. 두 로봇은 어떤 시점이..