gpt4 book ai didi

c++ - For-loop 或 std::any_of,我应该使用哪一个?

转载 作者:行者123 更新时间:2023-11-27 22:32:29 43 4
gpt4 key购买 nike

我无法在 for 循环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 循环 可能更好,因为每个人都应该熟悉它。使用 any_of 有什么理由吗?还是仅仅是个人喜好问题?还有其他(更好的)选择吗?提前致谢。

最佳答案

许多 C++ 标准库函数(通常是 <algorithm> 中的函数)可以避免对 for 的需求。或其他循环结构。 std::accumulate是一个早期的例子。

因此更喜欢std::any_of而不是循环。

关于c++ - For-loop 或 std::any_of,我应该使用哪一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59285774/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com