C++ 포인터
일단 객체지향을 공부하기 전에 객체지향이 왜 필요한지에 대해 알아야 한다고 생각한다. 그럼 객체지향은 왜 필요할까? 모든 프로그램은 데이터 + 로직으로 작동이 된다. 그러면 객체지향 없이 사용해도 뭐 상관없지 않냐? 라고 할 수 있다. 물론 객체지향 프로그래밍 없이
new와 malloc둘 다 동적으로 메모리를 할당을 위해서 사용한다.메모리를 해제하기 위해서는new는 deletemalloc은 free를 해주면 된다.malloc과 free는 라이브러리에서 제공하는 함수이다.하지만 new와 delete는 c++언어에서 제공하는 키워드이
전방선언은 실제로 식별자(함수, 변수, 객체)등을 정의하기 전에 식별자의 존재를 컴파일러에게 알려주는 것이다.C++에서 헤더파일과 cpp파일을 분리한 후에 헤더파일에서 먼저 선언을 해주고 cpp파일에서 정의를 하는 것도 이러한 것이라고 볼 수 있다.헤더파일에다가 헤더파
C++방식의 캐스팅 4종류를 알아볼 것이다. 종류 static_cast dynamic_cast const_cast reinterpert_cast 등이 있다. 쓰는 이유 C스타일의 캐스팅 코드는 동일한 코드여도 어디서 사용하느냐에 따라서 완전히 의미가 달라지는 것이
선형과 비선형 선형 구조는 자료를 순차적으로 나열한 형태 배열 연결 리스트 스택 / 큐 비선형 구조는 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 트리 그래프 배열 vs 동적 배열 vs 연결 리스트 배열 배열은
강의보고 공부한 것을 정리하는 목적으로 작성된 글이므로 틀린점이 있을 수 있음에 양해부탁드립니다. (피드백 환영입니다)두 알고리즘 A와 B를 비교하려면?A가 B보다 "조금", "많이"빨라요 => 애매모호하다프로그램을 짜서 실행 속도 비교? => 환경에 의존적이다.입력이
원래는 우리가 ```cpp using T = int; ``` 이런식으로 **별칭을 만들어서** 사용할 수 있었지만 **다양한 자료형**으로 사용 할 수가 없었다. 하지만 `템플릿`을 사용한다면 그 점을 해결할 수 있다. (C#의 `generic`과 비슷하다. 하지만
우리가 앞에서 배웠던 동적배열(vector)와 연결리스트로 다양한 것을 선형의 데이터로 구현할 수 있었다.하지만 선형 자료구조에는Stack과 Queue
강의 보고 공부한 것을 정리하는 목적으로 작성된 글이므로 틀린 점이 있을 수 있음에 양해 부탁드립니다. (피드백 환영입니다)우리가 최종적으로 A\*알고리즘을 구현하기 위해서는다익스트라를 알아야 하고 다익스트라를 알기위해서는BFS를 알아야 하고 BFS를 알기위해서는Gra
강의 보고 공부한 것을 정리하는 목적으로 작성된 글이므로 틀린 점이 있을 수 있음에 양해 부탁드립니다. (피드백 환영입니다)우리가 앞에서 배운 Vector와 List는 1차적으로 나열된 형태를 표현하기 적합한 자료구조라고 볼 수 있다.하지만 나중에는 이것만으로 부족한
C++ 우선순위 큐를 공부한 것을 기록한 포스트입니다.
C++ 그래프를 공부한 것을 정리한 포스트입니다.
C++ DFS를 공부한 것을 정리한 글입니다.
강의 보고 공부한 것을 정리하는 목적으로 작성된 글이므로 틀린 점이 있을 수 있음에 양해 부탁드립니다. (피드백 환영입니다)BFS(breath first search)는 너비 우선 탐색이다.그리고 BFS는 큐를 생각하면 된다. (큐로 구현이 가능하다)그래프 만드는 것은
C++ 다익스트라를 공부한 것을 정리한 글입니다. 다익스트라(Dijkstra)란? 다익스트라는 BFS + 양념이라고 생각하면 된다. 즉, BFS에서 가중치라는 개념이 들어간다고 생각하면 된다.
C++ A* 길찾기 알고리즘을 공부한 것을 정리한 글입니다. 다익스트라에서 조금 더 추가된 내용인데그 조금이 바로 출구를 알고 있다는 점이다.즉 출구(목적지)에 가까워질수록 가산점이 있다는 점이있다.결국에는
C++ 함수 포인터 공부한 것을 정리한 포스트입니다.
C++ 함수 객체를 공부한 것을 정리한 포스트입니다.
C++ vector와 iterator에 개념에 관해서 공부한 것을 정리한 글입니다.
C++ iterator를 공부한 것을 정리한 글입니다!
C++ List를 공부한 것을 정리한 글입니다.
C++ auto문법을 공부한 것을 정리한 글입니다.
C++ range-based for를 공부한 것을 정리한 글입니다.
C++ 이진 탐색을 공부한 것을 정리한 글입니다.
강의 보고 공부한 것을 정리하는 목적으로 작성된 글이므로 틀린 점이 있을 수 있음에 양해 부탁드립니다. (피드백 환영입니다) 저번에 말하였던 이진 탐색의 한계때문에 이진 탐색 트리를 공부해볼 것이다. 이진 탐색 트리 이진 탐색 트리(Binary Search Tree
이번에 방학숙제로프로세스, 스레드, 네임 맹글링 페이징 세그멘테이션, 커널 힙 알고리즘, vector, 덱의 이론이러한 것들을 정리를 해오는 숙제를 받았기 때문에 한 번 정리해볼까 한다.프로세스는 실행중에 있는 프로그램을 의미한다.그래서 프로그램이 실행되어 메모리를 할
전에 공부하였던 이진 탐색 트리의 완전형인 레드 블랙 트리를 공부해볼 것이다.
map은 Red Black Tree로 구현된 자료구조!! 드디어 사용해본다!!
이번 시간에는 hash_map을 공부해보았다.
c++ 표준 라이브러리에 함수를 여러가지를 공부하여 사용법을 알아보자!
C++ 람다에 관하여 공부해보았다!
이번에는 기본 정렬(선택 정렬, 버블 정렬, 힙 정렬, 합병 정렬)들을 알아보았다.
이번 시간에는 퀵 정렬에 대해 공부해보았다.
이번시간에는 string의 사용법과 옛날 방식의 문자열에 대해 알아보았다.
이번시간에는 문자열 전반의 역사와 다양한 인코딩에 대해 알아보았다.
이번시간에는 C++의 신규 문법인 오른값 참조에 대한 것과 이동 생성자, 이동 대입 연산자에 대해서 공부해보았다.
이번시간에는 스마트포인터(shared_ptr, weak_ptr, unique_ptr)을 공부하였습니다.
이번시간에는 DP ( 동적 계획법 )에 대해서 공부를 해보았다.