동적할당3 동적할당 1. malloc / free 2. new / delete 3. new [] / delete[] 4. malloc과 new의 차이 Malloc / Free[MALLOC][반환타입]* [포인터이름] = malloc([사이즈])ex) void* pointer = malloc(sizeof([Class]))[Free]free([포인터이름])ex) free(pointer);특징사이즈 지정 가능생성자와 소멸자 호출 xvoid* 포인터형을 사용할경우 class국한되지 않고 캐스팅을 통해 사용할 수 있다.주의HeapOverFlow 주의사이즈를 지정해줘서 사용하므로, 해당 사이즈를 넘어가는 주소공간에 접근할 위험이 존재 (힙오버플로우)Double Free이미 해제된 p.. 2024. 7. 3. 배열 백준 10807번 문제https://www.acmicpc.net/problem/10807(size에 맞는 배열 생성 후 일치한 정수 개수 찾기 문제)Vector 접근법 장점동적으로 배열 생성 가능삽입 / 삭제가 간편하다#include #include int main(){ std::vector list_vector; int push_num = 0; int size = 0; std::cin >> size; for (int i = 0; i > push_num; list_vector.push_back(push_num); } int match_num = 0; int count = 0; std::cin >> match_num; for (int i : list_vector) { if (i == match_nu.. 2024. 5. 31. C++ string 라이브러리 STRING 문자열 라이브러리#include 코딩테스트를 준비하며, 문자열 기반 문제들이 있는 것 같아 준비를 해보았다. 기본적인 string 라이브러리를 통해 손쉽게 문자열을 파싱하고, 조작하기가 편리하게 되어있었다.하지만, 문득 string 라이브러리를 사용하지 않고 하려다보니 막막해서 찾아보게 되었다... 동적할당. 물론, 처음 초기화한 값을 그대로 상수처럼 사용한다면 상관은 없겠지만, 문자열끼리 더하거나 없애거나 복사하거나 등의 기능을 하기위해서는 동적할당 개념이 들어가야한다고 생각했다. 동적할당이란? - 한정된 메모리를 효율적으로 사용하기 위해서 컴파일 시점이 아닌 프로그램 런타임 시점에 메모리를 할당하고 다 사용하면 해제해줌으로써 메모리를 효율적으로 사용하는 것을 말한다. 문자열과 동적할당간.. 2024. 5. 29. 이전 1 다음