💡 퀵 접속: cpp.kr/accumulate
C++ 표준 라이브러리의 알고리즘으로, 컨테이너의 모든 요소를 순차적으로 결합하여 하나의 값으로 만듭니다.
#include <iostream>
#include <vector>
#include <numeric>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 모든 요소의 합계 계산
int sum = std::accumulate(numbers.begin(), numbers.end(), 0);
std::cout << "숫자들의 합계: " << sum << std::endl;
return 0;
}
실행 결과:
숫자들의 합계: 15
#include <iostream>
#include <vector>
#include <numeric>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 모든 요소의 곱 계산
int product = std::accumulate(numbers.begin(), numbers.end(), 1,
[](int a, int b) { return a * b; });
std::cout << "숫자들의 곱: " << product << std::endl;
return 0;
}
실행 결과:
숫자들의 곱: 120
#include <iostream>
#include <vector>
#include <string>
#include <numeric>
int main() {
std::vector<std::string> words = {"Hello", ", ", "World", "!"};
// 모든 문자열 연결
std::string result = std::accumulate(words.begin(), words.end(), std::string());
std::cout << "연결된 문자열: " << result << std::endl;
return 0;
}
실행 결과:
연결된 문자열: Hello, World!
| 함수 | 설명 |
|---|---|
| accumulate(first, last, init) | 기본 덧셈 연산으로 요소들을 결합 |
| accumulate(first, last, init, op) | 지정된 연산으로 요소들을 결합 |