简洁的说法等于C++中的值集

Viv*_*ian 1 c++

例如,我有以下字符串,

if (str[i] == '(' ||
    str[i] == ')' ||
    str[i] == '+' ||
    str[i] == '-' ||
    str[i] == '/' ||
    str[i] == '*')
Run Code Online (Sandbox Code Playgroud)

我的问题是有一个简洁的方法来说明这个值是否是c ++中这些值集合之一?

Ale*_*nov 6

您可以str[i]使用特殊字符搜索字符串中的单个字符: std::string("()+-/*").find(str[i]) != std::string::npos

  • 没有必要构建一个`std :: string`对象.字符串文字+`std :: any_of`会做. (3认同)