본문 바로가기

C++ STL

memset 과 최대 최소

1. memset

 

문제를 풀다보면 쓰고있는 배열, 벡터 등등을 특정 값으로 리셋하고싶을 때가 많다 (아니 리셋을 해야만 하는 경우가 많다). 물론 이럴때 마다 개인적으로 함수를 직접 만들어서 사용하면 된다. 

근데 C++ STL에서는 기본적으로 제공하는 memset함수가 있으니 사용하지 않을 수가 없다.

 

헤더파일 : #include <cstring>

 

함수의 원형

void* memset(void* ptr, int value, size_t num);        출처: https://blockdmask.tistory.com/441 [개발자 지망생]

 

사용법은 다음과 같다.

/* 배열의 이름이 arr 일때 */

memset(arr, 0, sizeof(arr));

 

vector의 경우, memset과 같은 역할을 하는 fill이라는 함수가 있다.

/* vector의 이름이 v일때 */

std :: fill(v.begin() , v.end() , 0);

 

 

2. 최대, 최소 값

최대, 최소 값 또한 우리가 직접 코드를 구현해서 쓸 수 있다(어렵지 않으니까). 근데 귀찮기도하고 그냥 쓰고싶으니깐 쓰는게 나을거 같다.

 

헤더파일: #include <algorithm>

 

최댓값 // 배열의 이름이 arr 일때

- max_element(arr, arr+특정 수); -> arr내에서 최대값을 가지는 원소의 주소를 리턴한다. (iterator)

- *max_element(arr, arr+특정 수); -> 최대값 그 자체를 리턴한다.

 

최소값 

- min_element(arr, arr+특정 수); -> arr내에서 최소값을 가지는 원소의 주소를 리턴한다. (iterator)

- *min_element(arr, arr+특정 수); -> 최소값 그 자체를 리턴한다.

 

'C++ STL' 카테고리의 다른 글

Vector  (0) 2022.03.27
C++ pair클래스  (0) 2022.03.26