例如遍历一个字符串并计算我可以使用的元音数量

  for (int i=0; (x=inputString[i])!='\0';i++)
    if (x=='a' || x=='e' || x=='i' || x=='o' || x=='u') numVowels++;

在haskell或erlang之类的功能语言中,我们可以执行list:member(x,“aeiou”)

在某些面向对象的语言中,我可以执行[[a],“e”,“i”,“o”,“u”]。find(x)之​​类的操作

在没有x == ..的情况下,在C++中最干净的方法是什么? x == .. || ...

最佳答案

inputString.find_first_of("aeiou");

这将为您提供任何匹配元素的第一个索引。您可以循环执行此操作以获取所有匹配的元素:
size_t idx=0;
do{
    size_t current = inputString.find_first_of("aeiou",idx);
    idx = current;
}
while(current!=string::npos);

关于c++ - 在C++中搜索集合的最有效方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20388476/

10-13 07:05