C++判斷字符是否是元音字母


寫這個隨筆的起因很奇怪。

我本來想找找C++有沒有內置的函數(類似isalpha(), isdigit(), isalnum()之流)能直接完成這個功能,但是函數沒發現,卻發現很多博客都是逐個字符判斷的寫法:

isLowercaseVowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
isUppercaseVowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
if (isLowercaseVowel || isUppercaseVowel) ....

除此之外還真沒搜到更好的寫法,難道大家的博客都是你抄我我抄你?

這幾句話太長了,太jb復雜了,一會兒等號,一會兒單引號,一會兒豎線分隔符,敲一遍要好幾十秒。頻繁使用為了避免函數調用加快執行速度是可以這樣寫的,但是如果我對速度沒有那么高的要求呢,怎么寫得簡單一點呢?

const string p="aeiouAEIOU";
if (p.find(c) != string::npos) ...

這樣就像python的c in 'aeiouAEIOU',不是要簡潔的多嗎?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM