このコードを C++11 で記述するより良い方法はありますか?
int RawSheet::getNumberOfCities() const
{
int n = 0;
for (const auto &c : countries) {
n += c.getNumberOfCities();
}
return n;
}
ありがとう
std::accumulate
ラムダ コールバックで使用します。
#include <algorithm>
int RawSheet::getNumberOfCities() const
{
return std::accumulate(countries.begin(), countries.end(), 0, [] (RawSheet const& op1, RawSheet const& op2)
{
return op1.getNumberOfCities() + op2.getNumberOfCities();
});
}