例如,我的情況:
我收到「0」,「1」,「true」或「false」的輸入。 (無論如何)
什麼是最好的性能,代碼讀取方面,任何基本最佳實踐:正在使用std :: regex進行簡單的RX是很好的做法嗎?
bool func(string param)
{
string lowerCase = param;
to_lower(lowerCase);
if (lowerCase == "0" || lowerCase == "false")
{
return false;
}
if (lowerCase == "1" || lowerCase == "true")
{
return true;
}
throw ....
}
或:
bool func(string param)
{
string lowerCase = param;
to_lower(lowerCase);
regex rxTrue ("1|true");
regex rxFalse ("0|false");
if (regex_match(lowerCase, rxTrue)
{
return true;
}
if (regex_match(lowerCase, rxFalse)
{
return false;
}
throw ....
}
對於正則表達式,應該有一個標誌,告訴它不區分大小寫,所以你不必將其轉換爲小寫。除此之外,我認爲明確的檢查更明確,更易於閱讀, – 2012-04-16 07:27:13