본문 바로가기

C++23

CPP_1. AssortRock 8일차 오프라인 수업_220916 함수 포인터에 대한 이야기 함수 포인터는 반환타입(*함수포인터명)(인자타입) 으로 사용한다. 서버로부터 특정 명령을 받은 경우, 서버는 보통 숫자와 같은 글자들을 보내줌 그런 값들을 상황에 맞게 처리하기 위해 함수 포인터 사용 콜백 함수 템플릿에 대한 이야기 함수 오버로딩으로 만들 함수들이 너무 많다면 템플릿으로 만들면 편하다. 빌드 속도가 느려지지만 편리함이 더 좋음^_^ 템플릿 특수화 템플릿을 만들고 특정 타입에 대해 다르게 동작하도록 하는 방법 템플릿을 쓰는 이유가 편리함인데 타이핑이 늘어나는건 좀 손해같은 느낌 : 2022. 9. 18.
CPP_1. AssortRock 7일차 오프라인 수업_220915 프로그래밍 공부에 대한 이야기 보통 공부의 경우 이해를 하고 문제를 풀면서 연습한다 코딩의 경우 이해가 안될 경우 조금씩 실습하면서 이해하는 과정이 필요하다. 이해하는 과정을 겪고 다시 보면 이해가 됨 숙제에 관한 이야기 이제 숙제 기존 4개에서 2개씩 올라감 숙제의 난이도도 올라가고 수업 내용을 따라가는 것도 어려워졌으므로. 링크드리스트 숙제 노드 삽입 로직에 리스트가 비어있을 때와 마지막 요소에 집어넣을 때 에러 발생 그 에러를 처리할 수 있도록 로직 구현 클래스에 대한 내용 링크드리스트를 구조체로 짜보니 불편한 점이 있다. 링크드리스트 노드 삽입, 삭제 함수를 따로 만들어줘야 한다는 것 이것을 올인원느낌으로 한 곳에 때려박는게 클래스 클래스와 구조체의 가장 큰 차이는 접근제한 지시자 (클래스는 de.. 2022. 9. 16.
CPP_1. AssortRock 6일차 오프라인 수업_220914 코딩테스트 유형에 대한 이야기 문자열 1문제 dfs( 재귀함수 ), bfs( 큐 ) 1문제 그리디 알고리즘 다이나믹 프로그래밍(DP) DP문제는 문제를 만족하는 특정 공식이 있으며 그 공식으로 풀지 않으면 풀리지 않거나 성능이 매우 떨어짐 그래서 뭐가 DP인지 확인하고 DP빼고 푸는 것도 전략 문자열, 재귀, 그리디 중 2개는 맞아야 함 프로젝트 관리에 대한 이야기 협업 툴 중 하나인 노션 사용 팀 단위에선 유료 포트폴리오에 대한 이야기 앞으로 다가올 포트폴리오 제작기간을 고려해서 어떤 게임을 제작할 지 생각하고 이것 저것 플레이해봐야 함 일단 생각으로는 던그리드나 스컬? 바로 떠오르진 않지만 RPG계열 링크드리스트에 대한 소개 링크드리스트는 추가 삽입 삭제가 빈번하게 일어날 때 배열보다 높은 효율을 제.. 2022. 9. 15.
CPP_1. AssortRock 5일차 오프라인 수업_220913 메모리 할당과 해제에 대한 이야기 C++의 장점은 메모리를 직접 할당하고 해제할 수 있는 것. 자바나 C#의 경우 가비지컬렉터가 관리해주는데 할당/해제에서 끊기는 문제가 있다. 그래서 유니티에서는 메모리풀이라는 기술을 쓴다. 동적할당에 대한 이야기 사용자가 필요한 메모리가 얼만큼인지 알 수 없다. 스택의 크기는 정해져 있다. (VS 기준 기본 1MB) MB 단위로 스택이 정해진다. 스택(지역변수), 데이터영역(전역, 정적 변수) 이 친구들은 프로그램이 실행될 때 한번만 정해짐 따라서 프로그램 동작 중에 메모리를 필요한 만큼 할당할 수 있는 방법 필요 그 방법이 힙 메모리에 메모리를 할당하는 동적할당 기법이다. (malloc, free, new, delete) C언어에서의 동적 할당 malloc (memo.. 2022. 9. 15.