LINUX.ORG.RU

История изменений

Исправление BruteForce, (текущая версия) :

std::next(std::rbegin(some_container))
std::prev(std::prev(std::end(some_container)))

Еще вариации на такую тему:

auto i = std::end(some_container);
std::advance(i, -2);

Если скучно:

auto i = std::begin(some_container);
for (; std::distance(i, std::end(some_container)) != 2; ++i)
        continue;

Исправление BruteForce, :

std::next(std::rbegin(some_container))
std::prev(std::prev(std::end(some_container)))

Еще вариации на такую тему:

auto i = std::end(some_container);
std::advance(i, -2);

Исправление BruteForce, :

std::next(std::rbegin(some_container))
std::prev(std::prev(std::end(some_container)))

Исходная версия BruteForce, :

std::next(std::rbegin(some_container))