일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬알고리즘
- 비동기호출방법
- 구조적 바인딩
- 람다
- 알고리즘
- 강참조
- 프로그래머스
- UE_LOG
- unorder_map
- 크리티컬섹션
- stl
- 약참조
- UML관련
- 스마트포인터
- 언리얼가비지컬렉터
- 정렬
- 자료구조
- 데이터애셋
- 델리게이트
- tweakobjectptr
- C++
- dataasset
- 애셋로드
- map
- C++최적화
- moreeffectiveC++
- makeweakobjectptr
- enumasByue
- 선택정렬
- BFS
- Today
- Total
목록Note (429)
기억을 위한 기록들
www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net #include #include #include #include using namespace std; int main() { vector arr; vector arr2(8001, 0); int n; double totalValue=0; int maxValue =0; int temp = 0; int mode = 0; bool isSecond = false; cin >> n; int input; for (int i = 0; i < n; i++) { ..

다형성을 가진 기본 클래스에서는 소멸자를 반드시 가상 소멸자로 선언하자. class Character { public: Character() { cout
- 가상함수는 vtable 혹은 가상 테이블에 의존한다. - 어떤 클래스의 함수가 virtual로 선언되어 있으면, 해당 클래스의 가상 함수주로를 보관하는 vtable이 만들어진다. - 컴파일러는 또한 해당 클래스의 vtable을 가리키는 vptr이라는 숨겨진 변수를 해당 클래스에 추가한다. - 하위 클래스가 상위 클래스의 함수를 오버라이드하지 않으면, 하위 클래스의 vtable은 상위 클래스의 가상 함수주소를 보관한다. - 이 vtable을 사용하여 가상함수가 호출될때 어느 주소에 있는 함수가 호출되어야 하는지를 결정한다. - C++의 동적바인딩(dynamic binding)은 이 가상 테이블 매커니즘을 사용하여 실행된다. - 비가상함수에 대한 호출은 컴파일시간에 정적 바인딩을 통해 처리.

블루프린트에 있는 몽타주재생을 C++에서 사용할때 해당 노드 뒤에 있는 On Blend Out 과 On Completed를 C++에서 호출해야한다. 이럴 때 사용한 애님 인스턴스 클래스에 선언되어있는 델리게이트를 사용하면 된다. 언리얼 엔진 AnimInstance.h 47번줄부터 선언되어있는걸 확인할 수있다. 해당 델리게이트를 몽타주 재생한 함수에서 선언과 동시에 바인딩 해주었다. BindUObject로 바인딩 해주고 Montage_SetBlendingOutDelegate 함수와 Montage_SetEndDelegate 함수로 해당 델리게이트와 몽타주를 지정해주면 된다. 그리고 해당 몽타주를 재생하면 지정해준 함수두개에서 몽타주 애니메이션 재생 후 로그가 알맞게 출력된다. BlendOut이 Complet..

델리게이트(delegate)라는 단어를 사전에서 검색해보면 집단의 의사를 대표하는 대표자라고 나온다. 하지만 컴퓨터 프로그래밍에서 델리게이트는 함수를 안전하게 호출할 수 있는 기능을 의미한다. (먹는 사과도 애플이고 아이폰 만드는 회사도 애플인 그런 느낌...?) 사실 C++ 언어에서는 델리게이트라는 개념이 존재하지 않는다. 델리게이트는 C++ 의 다음 세대 언어인 C#에서 ( 정확히는 CLI 플랫폼 기반 ) 선보인 개념으로, 콜백 함수를 등록하기 위해 C 혹은 C++에서 사용한 함수 포인터가 문법이 복잡하고, 위험한 방식이었다면, 델리게이트는 간편한 문법과 안전성을 갖춰 콜백 함수를 호출하기 위해 고안. 델리게이트의 간편함과 안정성 외에도 이전 방식과 다른 큰 특징은 사전적 의미대로 집단의 의사를 대표..
www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net #include #include using namespace std; int main() { int num = 0; string n; string temp; bool change = false; cin >> n; for (int i = 0; i
www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net #include #include using namespace std; int main() { string str; while (true) { getline(cin, str); if (str == "\0") break; cout

일부 멤버 함수들은 C++에서 클래스 안에 직접 선언해 넣지 않으면 컴파일러가 자동으로 선언해주도록 되어 있습니다. 바로. 1. 복사 생성자(copy constructor) 2. 복사 대입 연산자(copy assignment operator) 3. 소멸자(destructor) 4. 기본 생성자 (선언 해놓지 않았다면) 가 있습니다. 컴파일러가 만드는 함수의 형태는 모두 기본형이다. 모두 public 멤버이며 inline 함수입니다. class Player {}; 이렇게 선언한 클래스와 아래와 같이 선언한 클래스가 대동소이하다는 것입니다. class Player { public: Player() // 기본생성자 {} Player(const Player& rhs) //복사 생성자 {} ~Player() //..

각도의 표현 각도를 표현하는 방법에는 2가지가 있다. 1. 각도법/도수법(dgree) 원주를 360등분 한것으로 하나를 1도로 정한 우리가 흔히 아는 각도이다. 2. 호도법(radian) 호도법을 라디안이라고 하는데, 각도를 나타내는 표현방법이다. 각도에서 호의 길이로 각도를 나타낸다는 발상이다. 호도법은 호의 길이와 각도를 구하는데 있어서 편리하다. 호의 길이는 구하는 방법을 알아보기전에, 원주의 길이를 구하는 방법을 보면 2 x (원주율) x (반지름) 으로 된다. 원주율은 우리가 흔히 알고 있는 PI(π) 값으로 3.14159265...로 보통 3.14로 인식한다. 다시 짧게 정리하면 2π x 반지름 이렇게 되고 반지름이 1이라면 원주의 길이는 2π 가 된다. 반지름이 1인 원의 원주의 길이는 2π..
docs.popekim.com/ko/coding-standards/cpp C++ 코딩 표준 | 포프의 문서창고 마지막 수정일: 2021-02-24 docs.popekim.com
www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net #include #include #include using namespace std; struct Location { public: Location(int x, int y) : mX(x) , mY(y) {} int mX; int mY; bool operator mX) { return true; } if (ref.mX == mX) { if (ref.mY > m..
www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net #include #include #include using namespace std; char map[251][251]; int visited[251][251]; int dir[4][2] = { {-1,0} ,{0,1} ,{1,0} ,{0,-1} }; int r, c; int vCnt = 0; int oCnt = 0; void bfs(int _x, int _y) { queue q; v..