목록내 개인적인 공부/자료구조 (28)
그냥 게임개발자

for in range 음.. 반복문인데 C++11에서 효율적인 반복문이라는 것이 추가가 되었어요. 쓸만함! 근데 저는 아직 습관이 덜 되어서 for (int i = 0; i < 아직 이런...것을 쓰지만 제가 C++를 많이 해보지는 않았지만 C#에서도 똑같은 for in range가 있는데 foreach라고 근데 그거 속도 느리대요. 실제 해봤는데 조금 차이가 있어요. 이유는 나중에 설명할게요. 아무튼! C++에서 사용하는 범위기반 for 루프 vecotr만 쓸 수 있는 것이 아니라 순회할 수 있는 컨테이너라면 다 사용할 수 있습니다. vector, Array, map 등 다 사용 가능합니다. for (range_declaration : range_expression) loop_statement 이거 ..

vector의 함수들은 여러가지가 있어요. push_back pop_back erase find clear fill 이렇게 자주 사용하는 함수들이 있는데 물론 더 있는데 그건 직접 하면서 공부해보길! 재미없는 것부터 배우면 재미가 없어요. 어차피 배울 거 산더미인데 쉬운 것부터 배워요 쉬운 것부터 저것보다 더 많을지도 그래서 하나하나 간단명료하게 설명하겠습니다. 근데 참 보면 평일에 쓰는 글들과 주말에 쓰는 글들의 퀄리티를 보면 주말이 확실히 더 좋은 듯 싶어요. push_back() vector의 뒤에서부터 요소를 더해요. 물론 emplace_back()도 뒤에서부터 요소를 더하는 함수입니다. emplcae_back()이 더 빠른데 시간차이는 그리 엄청나지는 않으니 편한 거 사용하시면 될 듯합니다. #..

vector는 동적으로 요소를 할당할 수 있는 동적 배열이에요 이게 무슨 말이냐면 배열같은 경우는 정적배열이에요 아래와 같은 경우가 정적배열입니다. int[5] arr; 이로써 컴파일 시점에 5라는 크기를 가진 배열이 생성되는 건데 이 이상은 추가를 못합니다. 확인해봅시다. #include using namespace std; int main() { int arr[5]; for (int i = 0 ; i < 6; ++i) arr[i] = i + 1; } 위 코드와 같이 5개의 크기를 가진 배열에 6번을 돌려서 값을 초기화 해봅시다. 보시면 Run-Time Check Failure #2 - Stack around the vraialbe 'arr' was corrupted. 라는 에러가 뜹니다. arr 주변..

데이터들과의 관계, 함수, 명령 등의 집합을 의미합니다. DataStructure라고 하죠. 데이퉐스투럭쳐 아우 졸려요 이것만 쓰고 저도 자러갈까 생각중 쉽게 얘기하자면 데이터에 대해 효율적으로 접근이나 수정 즉, 데이터의 처리를 효율적으로 할 수 있게 만든 구조를 의미합니다. 뭐 단순 자료구조는 말하지 않아도 알아야 합니다. 모르면 공부해오세요. 이 카테고리에서는 이 자료구조들을 설명하려고 합니다. 선형자료구조는 Array, Linked_list, Stack, Queue, Heap이 있고 비선형에는 Tree, Graph가 있습니다. 이것을 복습해볼 예정입니다. 복습