Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка LINK1561 http://www.cyberforum.ru/cpp-beginners/thread1798868.html
Всем доброго времени суток! впервые на форуме, да и вообще на форумах, извините, если создал лишнюю тему из-за лени искать необходимую мне информацию, устал)) помогите пожалуйста с этой наверное одной из популярных проблем) создаю небольшую программку в Windows Forms на С++, состоящая из трех richTextBox'ов, которые автоматически считают по формулам один из неизвестных richTextBox'ов. В свойствах...
C++ В пользовательском классе "Матрица" реализовать функцию-член для вычисления определителя Прива всем. Такой вопрос. Написал класс "Матрица". Хочу добавить метод для вычисления определителя. Написал функцию ("не для класса") (притом работает идеально) и попробовал добавить её в класс(ну записал в public прототип, изменил аргументы, объявил метод) но у меня не вышло ((( код не работает. Может кто подскажет в чем проблема. //Matrix.h #pragma once #include <iostream> #include... http://www.cyberforum.ru/cpp-beginners/thread1798865.html
Порядок вызова конструкторов при присваивании объектов одного класса C++
Имеется код ниже. Wein dres = rom; Где dres и rom объекты класса Wein. Класс Wein имеет все конструкторы по умолчанию. Rom определен выше, это не имеет разницы. Расскажите, при подобном операторе какие конструкторы и деструкторы вызываются явно и не явно.
C++ Выход из цикла из консоли
В консольном приложении пользователь запускает цикл, выход из которого возможен только по инициативе пользователя. Как реализовать? При нажатии любой клавиши, или при нажатии определенной, напр. Enter.
C++ Вектора. Их инициализация и использование в ветвлениях http://www.cyberforum.ru/cpp-beginners/thread1798810.html
Добрый вечер. Подскажите, как можно решить 2 появившиеся проблемы 1)Строка 10 "vector <char> a(n, "I");". Инициализация символьного вектора. Не принимает размер вектора в виде int. Это ошибка библиотеки, или я не понимаю, как создать вектор длины n и инициализировать его символами I? 2)Строка 15 "for (int j = l(i); j < 8; j++)". "Ошибка : вызов объекта типа класса без соответствующей функции...
C++ Подсчет слов Написал функцию для подсчета слов в файле: while (file) { //Считывание очередного символа ch = file.get(); //Если прочитанный символ является пунктуационным, пробельным или //признаком конца файла if (ispunct(ch) || isspace(ch) || ch == EOF) { подробнее

Показать сообщение отдельно
John Prick
774 / 707 / 129
Регистрация: 27.07.2012
Сообщений: 2,026
Завершенные тесты: 3
26.08.2016, 10:17     Преобразование шаблона к string
Цитата Сообщение от 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(); }
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru