std::vector 동적배열
std::vector<tpye> 배열명; : 생성
배열명.size() : 크기값
배열명.resize(n) : n의 크기로 재설정
배열명.push_basck(value) : 벡터 제일 마지막 위치에 새로운 value 추가
배열명.pop_back(value) : 벡터 마지막 값을 삭제
배열명.clear() : 백터의 모든 값을 삭제
auto 추론 키워드
컴파일이 알아서 타입을 결정해준다.
new와 delete 힙메모리 활용
type * 포인터 = new type; type만큼의 힙 공간에 메모리를 할당하고 주소를 반환해준다. 할당된 메모리 공간을 포인터가 가리키고 있다.
스마트포인터 make_shared, shared_ptr, unique_ptr
포인터처럼 동작하는 클래스 템플릿으로 사용이 끝난 메모리를 자동으로 해제하는 클래스
메모리 누수에대한 안전성 보장
힙 메모리(동적할당)에 생성됨
#include <memory>가 필요함
종류
unique_ptr : 기본 포인터로 한 명의 소유자만 허용됨, 부모 클래스의 가상 소멸자가 필요함
shared_ptr : 참조 횟수가 계산되는 스마트 포인터, 참조 카운트가 0이 되면 자원을 해제함
weak_ptr : shared_ptr과 함께 사용할 수 있는 특별한 경우의 포인터
사용 방법 : make_unique<클래스 or 구조체 타입>(args, ...) 와 같이 사용

'공부 일지 > C++' 카테고리의 다른 글
[C++] 2.5 명령 패턴 command pattern (0) | 2023.09.20 |
---|---|
[C++] 2.4 공장 패턴 factory pattern (0) | 2023.09.16 |
[C++] 2.2 상속 (0) | 2023.09.16 |
[C++] 2.1 클래스와 캡슐화 (0) | 2023.09.13 |
[C++] 1.4 FMOD를 이용한 소리 재생 (0) | 2023.09.11 |
std::vector 동적배열
std::vector<tpye> 배열명; : 생성
배열명.size() : 크기값
배열명.resize(n) : n의 크기로 재설정
배열명.push_basck(value) : 벡터 제일 마지막 위치에 새로운 value 추가
배열명.pop_back(value) : 벡터 마지막 값을 삭제
배열명.clear() : 백터의 모든 값을 삭제
auto 추론 키워드
컴파일이 알아서 타입을 결정해준다.
new와 delete 힙메모리 활용
type * 포인터 = new type; type만큼의 힙 공간에 메모리를 할당하고 주소를 반환해준다. 할당된 메모리 공간을 포인터가 가리키고 있다.
스마트포인터 make_shared, shared_ptr, unique_ptr
포인터처럼 동작하는 클래스 템플릿으로 사용이 끝난 메모리를 자동으로 해제하는 클래스
메모리 누수에대한 안전성 보장
힙 메모리(동적할당)에 생성됨
#include <memory>가 필요함
종류
unique_ptr : 기본 포인터로 한 명의 소유자만 허용됨, 부모 클래스의 가상 소멸자가 필요함
shared_ptr : 참조 횟수가 계산되는 스마트 포인터, 참조 카운트가 0이 되면 자원을 해제함
weak_ptr : shared_ptr과 함께 사용할 수 있는 특별한 경우의 포인터
사용 방법 : make_unique<클래스 or 구조체 타입>(args, ...) 와 같이 사용

'공부 일지 > C++' 카테고리의 다른 글
[C++] 2.5 명령 패턴 command pattern (0) | 2023.09.20 |
---|---|
[C++] 2.4 공장 패턴 factory pattern (0) | 2023.09.16 |
[C++] 2.2 상속 (0) | 2023.09.16 |
[C++] 2.1 클래스와 캡슐화 (0) | 2023.09.13 |
[C++] 1.4 FMOD를 이용한 소리 재생 (0) | 2023.09.11 |