C++2 accumulate() 함수의 overflow 문제 해결 방법 알고리즘 문제를 풀 때, 많은 사람들이 accumulate()함수를 자주 사용할 것으로 생각합니다.하지만, 해당 함수를 사용할 때 overflow에 대한 문제가 발생하여 for문으로 직접 합을 구하는 경우도 있을 것입니다. accumulate()함수의 선언을 확인해보면 문제를 해결할 수 있습니다.template _Tp accumulate(_InputIterator __first, _InputIterator __last, _Tp __init);[실제 accumlate() 함수의 선언은 이렇지 않습니다. 보기 편하도록 필요 없는 부분은 제거 하였습니다.] 여기서 중요하게 보아야 하는 것은 _Tp의 타입이 세번째 인수에 의해 결정 된다는 것입니다.그러므로, 세번째 인수의 타입을 기존 타입보다 더 넓은 범위를 .. 2025. 1. 21. rel_ops를 통한 클래스 비교연산자 자동 구현 저는 C++에서 클래스를 설계할 때 귀찮은 부분중 하나가 비교연산자를 구현이라고 생각합니다. !,==,!= 6개나 되는 연산자를 오버로딩하는 것은 매우 번거롭죠. 하지만! 예상외로 C++에서는 rel_ops - C++ Reference 123456 namespace rel_ops { template bool operator!= (const T& x, const T& y) { return !(x==y); } template bool operator> (const T& x, const T& y) { return y bool operator= (const T& x, const T& y) { re cplusplus.com https://en.cppreference.com/w/cpp/utility/rel_ops/.. 2022. 8. 28. 이전 1 다음