더북(TheBook)

복잡하고 어려운 작업도 STL을 사용하면 코드 몇 줄로 정말 쉽게 처리할 수 있다. 설명 없이 다음 코드를 보자. 다음 코드는 부동소수점 값들을 표준 입력으로 읽고 평균을 계산해서 출력한다.

std::vector<double> values;
std::cout << "값은 공백으로 구분해서 입력하세요. 종료하려면 Ctrl+Z를 입력하세요.\n ";
values.insert(std::begin(values), std::istream_iterator<double>(std::cin),
                                         std::istream_iterator<double>());
std::cout << "평균값: "
          << (std::accumulatebegin(values), std::end(values), 0.0)/values.size())
          << std::endl;

딱 네 줄이면 된다! 코드가 길다는 건 인정하지만, 루프도 전혀 사용하지 않았다. 모든 건 STL에서 처리한다. 이 코드는 조금만 고치면 같은 처리를 파일에서 가져온 데이터로 처리하게 바꿀 수 있다. STL의 강력함과 응용력 때문에 C++ 프로그래머라면 반드시 갖춰야 하는 도구 상자가 STL이다. STL 이름은 모두 std 네임스페이스에 있으므로 본문에서 STL 이름에 항상 std를 붙이지는 않을 것이다. 물론, 코드에서 필요할 때는 전체 이름을 사용할 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.