Как вернуться из функции внутри лямбды?

Рассмотрим следующий код игрушки, чтобы определить, содержит ли диапазон элемент:

template
bool contains1(Iter begin, Iter end, const T& x)
{
    for (; begin != end; ++begin)
    {
        if (*begin == x) return true;
    }
    return false;
}

(Да, я знаю, в стандартной библиотеке уже есть совершенно хорошие алгоритмы, это не смысл.)

Как бы я написал одно и то же с для _ каждого и лямбды? Следующее не работает...

template
bool contains2(Iter begin, Iter end, const T& x)
{
    std::for_each(begin, end, [&x](const T& y) {
        if (x == y) return true;
    });
    return false;
}

... потому что это вернулось бы только из лямбды, а не из функции.

Нужно ли мне делать исключение, чтобы выйти из лямбды? Опять же, есть, вероятно, дюжина лучших решений этой конкретной проблемы, которые вообще не связаны с ламбдами, но это не то, о чем я прошу.

-121--959046-

Предотвращают ли укороченные URL-адреса уродливые слова? [closed] Знаете ли вы о каком-либо укороченном URL-адресе, который отфильтровывает уродливые плохие слова? Например, когда goo.gl (или любой другой укороченный URL-адрес) генерирует короткие URL-адреса, пропускает ли он URL-адреса, такие как goo.gl/evil или goo.gl/YouDie или...

Знаете ли вы о каком-либо укороченном URL-адресе, который отфильтровывает уродливые плохие слова?

Например, когда goo.gl (или любой другой укорочитель URL) генерирует короткие URL-адреса, пропускает ли он URL-адреса, такие как goo.gl/evil или goo.gl/YouDie или goo.gl/f__k (без двух опущенных символов)?

Я думаю, что было бы довольно сложно отфильтровывать плохие слова, поскольку многие языки используют латинский алфавит, и действительно ли возможно отфильтровать все плохие слова на всех языках?

В моем Webapp, Я генерирую GUID, но включаю только числа и согласные и гласные u и y , чтобы не генерировать плохие слова (или так я надеюсь). Однако краткие URL Google, похоже, включают все гласные.

Обновление: Несколько недель назад я спросил Битли, удаляют ли они «уродливые» слова: они делают это. Я также спросил в списке рассылки укороченных URL-адресов Google, если этот укороченный URL-адрес удаляет «уродливые» слова; пока нет ответа.

11
задан KajMagnus 19 September 2011 в 10:43
поделиться