일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- eulerAngles
- 이진트리
- 유니티 Rotate
- git-lfs
- InputManager
- LayerMask
- 유니티 Vector3
- 유니티 ResourceManager
- 유니티 리소스매니저
- 알고스팟
- c++ 문자열 자르기
- c++
- 유니티 Collision
- 소스코드 줄번호
- 유니티 머신러닝
- 깊이 우선 탐색
- Raycast
- 유니티
- ML-Agents
- LFS
- 유니티 시야 가림
- 너비 우선 탐색
- 코드블럭 테마
- 유니티 InputManager
- Mathf.Clamp
- 유니티 오브젝트 풀링
- LookRotation
- 오브젝트 풀링
- unity
- Quaternion.Euler
- Today
- Total
목록IT/c, c++ (12)
무민은귀여워
문자열이 주어졌을 때, 공백 단위로 단어를 나누는 방법 ex) 문자열 "apeach frodo muzi" 을 "apeach", "frodo", "muzi" 로 나누어 저장 단어 갯수를 알 경우 1. substr 2. istringstream 단어 갯수를 모를 경우 3. stringstream 4. strtok 1. substr #include #include using namespace std; int main() { string str = "apeach frodo muzi"; vector names; for (int i = 0; i < 3; i++) { names.push_back(str.substr(0, str.find(" "))); str = str.substr(str.find(" ") + 1); ..
스마트 포인터(smart pointer) 스마트 포인터(smart pointer)란 포인터처럼 동작하는 클래스 템플릿으로, 사용이 끝난 메모리를 자동으로 해제해 준다. 1. unique_ptr 하나의 스마트 포인터만이 특정 객체를 소유할 수 있도록, 객체에 소유권 개념을 도입한 스마트 포인터입니다. 이 스마트 포인터는 해당 객체의 소유권을 가지고 있을 때만, 소멸자가 해당 객체를 삭제할 수 있다. unique_ptr 인스턴스는 move() 멤버 함수를 통해 소유권을 이전할 수는 있지만, 복사할 수는 없다. 소유권이 이전되면, 이전 unique_ptr 인스턴스는 더는 해당 객체를 소유하지 않게 재설정된다. ※ 보통의 C++ 객체에 대해 스마트 포인터가 필요한 상황에서는 주로 unique_ptr을 사용하면 ..
클래스명.h 헤더파일을 만들고 csv 파일을 읽어서 사용한다. 0. csv 파일 준비하기 엑셀 파일을 만들어서 csv파일로 내보내기. 내용은 아래와 같음. [엑셀] UniqueId name lane role price int string string string int 1 Ekko top AP 6300 2 Malphite top Tank 1350 생략 [csv] 1 2 3 4 5 6 7 8 9 10 11 12 13 UniqueId,name,lane,role,price int,string,string,string,int 1,Ekko,top,AP,6300 2,Malphite,top,Tank,1350 3,Master Yi,jungle,Split Pusher,450 4,Evelynn,jungle,AP,1350 ..
1 2 3 4 5 6 7 8 9 10 /*-- type형 x와 y의 값을 교환 */ #define swap(type, x, y) do{ type t = x; x = y; y = t;}while(0) /*-- 요소 개수가 n인 배열 a의 요소를 역순으로 정렬 --*/ void ary_reverse(int a[], int n) { int i; for (i = 0; i b) swap(int, a, b); else swap(int, a, c); cs 이렇게 정의하면 컴파일 오류가 발생한다. 매크로 치환 후의 프로그램을 보자. a > b를 만족한다고 가정하면 if의 { }블록이 실행된다. 그러면 바로 뒤에 else가 와야 하는데 치환한 자리 다음에 불필요한 세미콜론 ;이 나온다. 이렇게 되면 else에 대응하는i..
typedef와 별칭 선언이 하는 일은 정확히 동일하다. 별칭 선언의 예 1 2 3 4 5 6 7 8 9 // typedef 를 사용한 옛 버전 typedef std::unique_ptr UPtrMapSS; // 별칭 선언 (alias declaration) using UPtrMapSS = std::unique_ptr; cs 그러나 typedef보다 별칭 선언을 선호하는 이유는 다음과 같다. 함수 포인터가 관여하는 형식을 다룰 때는 별칭 선언 쪽을 더 쉽게 이해하는 사람들이 많다 typedef는 템플릿화할 수 없지만 별칭 선언은 템플릿화 할 수 있다. 템플릿화된 별칭 선언을 별칭 템플릿(alias templates)이라고 부른다. 1의 예 1 2 3 4 5 6 7 // FP는 int 하나와 const s..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 #include #include #include using namespace std; /* 문자열을 매개변수로 받고 각 문자가 몇 번 사용되었는지 출력. */ void countStrings(vector s) { map m; for (int i = 0; i
[1, 2, 3, 4] 를 이용하여 네 자리 수 조합 만들기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 #include #include #include using namespace std; int main() { vector v; for (int i = 0; i
Screen.h 1 2 3 4 5 6 7 #pragma once void ScreenInit(); void ScreenFlipping(); void ScreenScreenClear(); void ScreenRelease(); void ScreenPrint(int x, int y, char* string); void setColor(unsigned short color); cs Screen.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #include static int g_nScreenIndex; ..
c4996 에러 -> 권장되지 않는 함수에 대한 에러이다. include 후 1 #pragma warning(disable:4996) cs 위 코드를 삽입해서 해결.
구조체가 char형 변수 하나만 가지고 있다고 하더라도, 바이트 패딩으로 구조체의 크기는 4바이트가 된다. 참고 사이트 https://supercoding.tistory.com/37 바이트 패딩(Byte Padding) 바이트 패딩(Byte Padding) 바이트 패딩(Byte Padding)이란 클래스(구조체)에 바이트를 추가해 CPU 접근에 부하를 덜어주는 기법입니다. 먼저 패딩(Padding) 이라는 말에는 이런뜻이 있습니다. padding 1. (푹신하.. supercoding.tistory.com