Я не могу выбрать между для цикла и std :: any_of , например:
QString fileName = "Whatever"; // might contain a key-string which is part of sMyStringlist()
auto anyTypeContains = [&](const QString& categoryStr)
{
for(auto const &keyStr : sMyStringlist()[categoryStr])
if(fileName.contains(keyStr, Qt::CaseInsensitive))
return true;
return false;
};
if(anyTypeContains("myCategory"))
...
или
QString fileName = "Whatever"; // might contain a key-string which is part of sMyStringlist()
auto anyTypeContains = [&](const QString& categoryStr)
{
return std::any_of(
sMyStringlist()[categoryStr].begin(),
sMyStringlist()[categoryStr].end(),
[&](const QString& keyStr){
return fileName.contains(keyStr, Qt::CaseInsensitive);
});
};
if(anyTypeContains("myCategory"))
...
Я думаю, что for-loop может быть лучше, так как все должны быть знакомы с ним. Есть ли причина для использования any_of или это просто вопрос вкуса? Есть ли другие (лучшие) альтернативы? Заранее спасибо.