2
我想創建模板函數來解析常規或寬字符串。 事情是這樣的:C++模板和字符串文字
template <class CharT>
bool parseString(std::basic_string<CharT> str)
{
boost::basic_regex<CharT> myRegex("my_regex_expression");
boost::match_results<typename std::basic_string<CharT>::const_iterator> what;
if (boost::regex_search(str, what, filenameRegex) == false)
{
return false;
}
...
return true;
}
template bool parseString<char>(std::string str);
template bool parseString<wchar_t>(std::wstring str);
此時心中已經有問題,在功能我有一個預定義的字符串"my_regex_expression"
。但是對於寬字符的模板,我需要一個字符串與寬字符L"my_regex_expression"
。
如何解決這個問題?爲窄字符和寬字符創建兩個複製粘貼方法?也許我們有更好的方案?
它是唯一的解決方案?我陷入了同樣的問題,我不想重複一堆這樣的功能...... – Boiethios