Форум программистов, компьютерный форум, киберфорум
Наши страницы

Преобразование шаблона к string - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка LINK1561 http://www.cyberforum.ru/cpp-beginners/thread1798868.html
Всем доброго времени суток! впервые на форуме, да и вообще на форумах, извините, если создал лишнюю тему из-за лени искать необходимую мне информацию, устал)) помогите пожалуйста с этой наверное...
C++ В пользовательском классе "Матрица" реализовать функцию-член для вычисления определителя Прива всем. Такой вопрос. Написал класс "Матрица". Хочу добавить метод для вычисления определителя. Написал функцию ("не для класса") (притом работает идеально) и попробовал добавить её в класс(ну... http://www.cyberforum.ru/cpp-beginners/thread1798865.html
Порядок вызова конструкторов при присваивании объектов одного класса C++
Имеется код ниже. Wein dres = rom; Где dres и rom объекты класса Wein. Класс Wein имеет все конструкторы по умолчанию. Rom определен выше, это не имеет разницы. Расскажите, при подобном...
C++ Выход из цикла из консоли
В консольном приложении пользователь запускает цикл, выход из которого возможен только по инициативе пользователя. Как реализовать? При нажатии любой клавиши, или при нажатии определенной, напр....
C++ Вектора. Их инициализация и использование в ветвлениях http://www.cyberforum.ru/cpp-beginners/thread1798810.html
Добрый вечер. Подскажите, как можно решить 2 появившиеся проблемы 1)Строка 10 "vector <char> a(n, "I");". Инициализация символьного вектора. Не принимает размер вектора в виде int. Это ошибка...
C++ Подсчет слов Написал функцию для подсчета слов в файле: while (file) { //Считывание очередного символа ch = file.get(); //Если прочитанный символ является пунктуационным, пробельным или... подробнее

Показать сообщение отдельно
John Prick
805 / 738 / 146
Регистрация: 27.07.2012
Сообщений: 2,110
Завершенные тесты: 3
26.08.2016, 10:17
Цитата Сообщение от puma3085 Посмотреть сообщение
Так понимаю надо использовать шаблоны.
Не обязательно, достаточно простой перегрузки. Шаблонную функцию всё равно придётся специализировать под каждый тип, так что объём кода будет одинаков.
C++
1
2
3
std::string func(int a) { return std::to_string(a); }
std::string func(std::string & s) { return s; }
std::string func(myClass & m) { return m.toString(); }
Добавлено через 3 минуты
Шаблоны могут здесь помочь в том плане, что если std::to_string определена для всех встроенных типов, то можно обойтись одной функцией для них:
C++
1
2
3
4
5
6
// обобщённая функция
template <typename T>
std::string func(T x) { return std::to_string(x); }
// специализации, для которых нет std::to_string
template <> std::string func<std::string>(std::string & s ) { return s; }
template <> std::string func<myClass>(myClass & m) { return m.toString(); }
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru