max_element()의 반환값과, max()의 반환값에 대하여. 명확하게 인지하고 있도록 하자.

max_element();의 경우는 반환값이 iterator이기 때문에 이걸 사용해서 값을 알고자 한다면 *을 붙여주어서 코드를 작성해야한다

*max_element();형태로 사용해야 값을 구할 수 있다. iterator를 반환한다는걸 명심하도록 하자. 

 

max(); 는 값을 반환한다. 이건 *을 붙일 필요가 없이 바로 사용하면 된다. 

 

둘다 max값을 구하는데 있어서 사용할 수 있는 stl 함수이지만, 명확하게 차이점을 인지하고 사용하도록 하자. 

 

max_element는 주소값을 반환, 값을 알고싶으면 *을 붙여서 사용할것

max()는 값을 반환. 값을 알고싶으면 그냥 바로 사용하면 된다.

 

이와 관련하여서 강의를 보고 있는데 영상에서, 

 

/*

max_element를 이용해 전체 배열에서 가장 큰 원소가 들어있는 인덱스를 알고 싶으면, 

k=max_element(arr,arr+n)-arr라고 둬서 구할 수 있어요. 

*/

라는 부분이 있다. 이것도 유용하게 사용할 수 있는 성질일것 같다.

몇번째인가 를 알고싶다면 이렇게 사용할 수 있는 것이다. 

주소값 자체를 의미하는게 아니라 '몇번째 인덱스' 인가를 알고싶을때 사용하면 된다. 

 

  Comments,     Trackbacks