14.08.2014, 21:30. Просмотров 500. Ответов 3
В книге "С++. Сборник рецептов" нашел обобщенную функцию преобразования строки в число:
C++ |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| #include <iostream>
#include <sstream>
#include <conio.h>
using namespace std;
template<typename T>
T strNum(const string& str)
{
stringstream ss(str);
T tmp;
ss >> tmp;
if (ss.fail())
{
string s = "Can`t format " + str + " in number!";
cout << s << endl;
}
return tmp;
}
int main(int argc, char** argv)
{
double d = strNum<double>("300e-5");
cout << d << endl;
float f = strNum<float>("345.234");
cout << f << endl;
int i = strNum<int>("345.05");
cout << i << endl;
int err= strNum<int>("asdf");
_getch();
return(EXIT_SUCCESS);
} |
|
Далее в тексте книги говорится, что параметром шаблона можно сделать тип символов. Подскажите, пожалуйста, что автор книги имеет ввиду, что-то я не понял. Проект прикрепляю.