Я хотел бы написать функцию для создания строк char / wchar_t, заданных const char*
( 'small' строковые литералы).
Например, что-то вроде
template<typename T>
std::basic_string<T> test(const char* str) {
///
}
Так что я могу использовать
std::string a = test<char>("haha");
или
std::wstring b = test<wchar_t>("哈哈"); // NOT L"哈哈"
для создания строк на основе аргументов шаблона.
Я знал, что было бы легко, если бы аргумент функции был const T* str
. Но я не могу понять, когда это const char* str
. И я думаю, что какое-то преобразование должно быть выполнено.
Заранее спасибо.