Custom conversions, deduction guide, C++
Извините, не знаю, как точнее сформулировать вопрос (иначе бы получилось найти ответ в гугле). Есть такая вещь, как определённые пользователем приведения типов данных. Но есть ещё кое-что: можно заставить компилятор считать всякое вхождение const char* за std::string. (Для тех же deduction guides, например.) Делается это в одну строку немудрёными словами. Вот только я не помню и не могу найти, какими. Помогите, пожалуйста.
Ответы (1 шт):
Автор решения: Fluffle Puff
→ Ссылка
Это называется custom deduction guide и он для встроенных классов не работает. Пример использования для самописных:
template <typename T>
struct S {
T data;
S(T x) : data(x) {}
};
S(const char*) -> S<std::string>;
S s("abc"); //decltype(s.data) - std::string