목록분류 전체보기 (189)
안선생의 개발 블로그
완성 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126..
erase 추가에서 완성한 가변배열 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 12..

iterator(반복자) 컨테이너에 저장되있는 원소들을 공통적인 방법으로 하나씩 접근할 수 있게 해준다. 즉 포인터라고 생각하면 편함 begin을 하면 첫번째 주소를 가르켜준다 호출할 떄도 *을 붙여야한다. 반복자 직접 구현해보기 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512..

vector, list 개념 우리가 직접 만든 가변배열 리스트는 사실은 제공해준다. 라이브러리에 있는 가변배열 리스트 사용해보기 data(),size(),capactiy() 구현 출처 : https://www.youtube.com/c/AssortRockGameAcademy

namespace namespace 사용 이유 : 변수명이 겹칠 수 있기 때문에 EX) using 사용한다는 뜻 ex)using namespace std; // namespace 안에 있는 std을 사용한다는 뜻라이브러리가 namespace std공간에 넣어놨기 때문에 std를 사용하기 싫으면 using namespace std;를 선언 그러면 std::를 안쓰고 cout를 사용할 수 있다. 개별적으로 풀어주는법 std안에 있는 cout만 풀어준다라는 뜻 std를 다풀어주면 네임스페이스 기능을 완전히 상실하기 때문에 귀찮더라도 자주쓰는 기능만 개별적으로 풀어주는게 더 나음 입출력 직접 구현해보기 반환 타입이 자기 자신이어야 하는 이유는
클래스 템플릿을 이용한 가변배열 만들어보기 클래스 마다 template을 써줘야함 템플릿을 이용한 클래스는 자료형이 무엇인지 모르기에 헤더 파일에다가 전부 구현해야함 CArr.h 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 10..

Add함수로 인트형과 플로트형 만들고 싶을 때 내가 더하는 함수를 만들 때 같은 맥락인데 자료형이 달라서 두개를 만들어야 한다. 하나로만 하고싶을 때 사용하는게 함수 템플릿이다. 함수 템플릿 사용 방법 이렇게 함수템플릿을 사용하면 하나면 선언하면 된다. 예시코드 호출할 떄 어떤 자료형을 쓸지 을 사용하는게 좋다. 출처 : https://www.youtube.com/c/AssortRockGameAcademy
가변배열에서 만든 C스타일로 만든 구조체로 만든 가변배열을 C++ 클래스를 이용한 배열로 바꿔보기 CArr.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #pragma once class CArr { private: int* pint; int count; int maxcount; public: void PushBack(int Data); void resize(int ResizeCount); void Sort(); int& operator[] (int idx); // operator를 써줘야함 public: CArr(); ~CArr(); }; Colored by Color Scripter cs CArr.cpp 1 2 3 4 5 6 7 8 9 10 11 ..

구조체랑 같은 내가 만든 자료형 구조체랑 다르게 접근제한 지정을 할 수 있다. //private ,public , protected Private : 클래스 내부에 정의된 함수에서만 접근 허용 (중요한 정보를 감출때 사용) Public : 어디서든 접근이 가능 (외부에서도 모두 접근 가능) 생성자 이니셜라이져 소멸자 : ~클래스이름() 클래스는 생성자 소멸자를 안만들면 컴파일러가 자동으로 만들어 준다. 그 이유는 객체를 만들었을 때 생성이 되어야 하고 종료될 때 소멸자를 호출 해줘야 하기 떄문 구색상 존재해야 하기때문 이렇게 자동으로 생성되는것을 디폴트 생성자 디폴트 소멸자라고 한다. 디폴트는 아무런 기능이 없다. this : 숨겨진 포인터 this를 사용함으로써 객체에 주소를 나타내줌 c에서는 위에처럼..
리스트 함수 직접 구현해보기 리스트는 가변배열과 다르게 가변배열은 메모리가 연속되있다는 특징을 가졌고 리스트는 데이터가 뛰엄뛰엄 끊어져있다. 데이터가 필요할 때 마다 한칸한칸 동적할당해서 데이터를 직접 넣는다. 이 데이터 한칸을 노드라고한다. 하나에 노드안에는 데이터가 들어있지만 다음 데이터를 가르키는 주소도 가지고있어야 한다. list.cpp 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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 ..