그냥 게임개발자
accumulate() - 배열의 합 구하기 본문
배열의 합을 구하는 방법은 우리가 어릴 때 많이 배웠습니다.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
int sum = 0;
vector <int> v = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (vector<int>::iterator it = vec.begin(), it != vec.end(); ++it)
{
sum += *it;
}
cout << sum << '\n';
return 0;
}
음음 55가나올겁니다.
다만 더 쉽게 활용하는 함수가 있습니다.
#include <iostream>
#include <vector>
#include <numeric>
using namespace std;
int main()
{
vector<int> vec = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sum = accumulate(vec.begin(), vec.end(), 0);
cout << sum << '\n';
return 0;
}
함수하나로 vector vec의 요소들의 합을 쉽게 구할 수 있습니다.
다만 합을 구할 때 주의해야 할 것은 accumulate의 반환값은 initial value(초기값 문제)의 타입을 따라갑니다.
그래서 어떠한 경고도 띄우지 않고 자동으로 캐스팅이 되기 때문에 주의할 필요가 있습니다.

끝
'C++ 나만의 복습' 카테고리의 다른 글
min_element() (0) | 2024.04.12 |
---|---|
max_element() (0) | 2024.04.12 |
lower_bound() & upper_bound() (0) | 2024.04.12 |
stable_sort() (1) | 2024.04.07 |
sort() (0) | 2024.04.07 |