C++에서는 Type Traits라는 라이브러리를 사용할 수 있다.Type Traits은 타입의 속성을 컴파일 타임에 검사하거나 수정하는 기능을 가진 라이브러리를 말한다.템플릿을 사용해 컴파일 타임에 타입을 검사 혹은 수정하기 때문에타입에 따라 다른 동작을 수행하도록
함수 템플릿은 템플릿을 사용한 함수로, 서로 다른 타입의 변수를 인자로 받더라도 동일한 함수의 기능을 수행하게 할 수 있다.template<typename T> 와 같은 형식으로 함수 위에 작성하여 템플릿 함수를 나타낼 수 있다.위 예시처럼 int나 float 파
람다 표현식(Lambda expression) C++의 기능 중에는 람다 표현식이라는 것이 있다. C++ 레퍼런스의 설명에는 다음과 같이 적혀있다. > "클로져(closure)을 생성하는 범위 내의 변수를 캡쳐할 수 있는 이름 없는 함수객체" 클로져는 뭐고, 캡
C/C++에서 메모리에 올라가는 프로그램의 구조는 크게 스택, 힙, 데이터, 코드 영역으로 나뉜다. 이에 대해 정리한 내용이다.프로그램의 실제 코드가 저장되는 영역이다.텍스트 영역는 주로 읽기 전용이고 공유 가능하다는 특징이 있다.읽기 전용의 장점은 프로그램이 급작스럽
Bit-Field는 변수들을 비트 단위로 지정해 구조체(클레스)의 멤버변수로 저장하는 방식이다. 다음과 같이 ( : )를 사용해 나타낼 수 있다.bit-field에 이름 없는 변수를 사용해 새로운 바이트에서 값을 시작하도록 할 수 있다.특징bit-field 구조체의 크
분할정복(divide-and-conquer) 이란 문제를 더 작은 문제로 쪼개고 작은 문제에 대한 해를 찾고 결합하여 원 문제를 해결하는 알고리즘이다.특징어떤 문제를 같은 유형의 더 작은 문제로 해결 할 수 있을 때 사용할 수 있는 알고리즘이다.큰 문제에서 시작해 작은
유니티로 개발하면서 게임에서 플레이어에게 필요한 데이터들을 앱을 종료하고 실행시켰을 때, 그대로 불러오는 기능을 구현해야 하는 경우가 자주 생깁니다. 이럴 때는 종종 저장해야 할 값이나 객체를 JSON 포멧으로 바꾸어 .json 파일 형식으로 저장하고 불러오는 기능을
Json을 사용해 상점 데이터를 Save & Load 해보자. 현재 진행 중인 프로젝트에서 필요한 상점이 가지는 정보는 다음과 같다. > 해머 아이템 (해머는 소모품으로 한 번 구매 후 사용하면 다시 구매할 수 있다.) 방어선 증가 아이템 (1번만 구매 가능. 9
게임을 개발하면서 게임에 필요한 크고 작은 데이터들을 관리해야 한다.예를 들어, 다이얼로그 시스템이나 여러 게임 캐릭터들의 스텟 정보 등을 텍스트로 관리하여 쉽게 유지, 보수를 할 수 있다.나의 경우, CSV 파일을 활용하여 게임에서 몬스터 자동 스폰(몬스터 웨이브)
이번 문제는 매우 간단해보이는 문제였다.입력 값의 범위를 보지 않고 문제를 제출했을 때의 코드는 다음과 같다.처음 unordered_map을 쓸 때 무작정 O(1)의 시간복잡도를 갖는다고 알고 사용했는데, 사실 최악의 경우 O(N)의 시간복잡도를 가질 수 있었다.최악의
백준-설탕배달(2839)재귀호출을 사용한 전수조사위의 방법처럼 했더니 당연하게도 시간초과가 났다.N의 최대 크기가 5000이었는데, 재귀호출을 하면 최적의 해를 찾는 이진 탐색 트리의 최소 깊이만 해도 1000이다.그래서 위 코드에 메모이제이션을 넣어 사용해보았다.Ha