出处:http://www.cnblogs.com/oomusou/archive/2006/10/10/525679.html
std::string为library type,而int、double为built-in type,两者无法互转,这里使用function template的方式将int转std::string,将double转std:string。
1
/**/
/*
2
(C) OOMusou 2006 http://oomusou.cnblogs.com
3
4
Filename : ArrayToVectorByConstructor.cpp
5
Compiler : Visual C++ 8.0
6
Description : Demo how to convert any type to string.
7
Release : 11/18/2006
8
*/
9
#include
<
iostream
>
10
#include
<
sstream
>
11
#include
<
string
>
12
13
template
<
class
T
>
14
std::
string
ConvertToString(T);
15
16
int
main()
{
17
std::string s;
18
19
// Convert int to std::string
20
int i = 123;
21
s = ConvertToString(i);
22
std::cout << s << std::endl;
23
24
// Convert double to std::string
25
double d = 123.123;
26
s = ConvertToString(d);
27
std::cout << s << std::endl;
28
29
return 0;
30
}
31
32
template
<
class
T
>
33
std::
string
ConvertToString(T value)
{
34
std::stringstream ss;
35
ss << value;
36
return ss.str();
37
}
/**/
/* 2
(C) OOMusou 2006 http://oomusou.cnblogs.com3

4
Filename : ArrayToVectorByConstructor.cpp5
Compiler : Visual C++ 8.06
Description : Demo how to convert any type to string.7
Release : 11/18/20068
*/
9
#include
<
iostream
>
10
#include
<
sstream
>
11
#include
<
string
>
12

13
template
<
class
T
>
14
std::
string
ConvertToString(T);15

16

int
main()
{17
std::string s;18

19
// Convert int to std::string20
int i = 123;21
s = ConvertToString(i);22
std::cout << s << std::endl;23

24
// Convert double to std::string25
double d = 123.123; 26
s = ConvertToString(d);27
std::cout << s << std::endl;28

29
return 0;30
}
31

32
template
<
class
T
>
33

std::
string
ConvertToString(T value)
{34
std::stringstream ss;35
ss << value;36
return ss.str();37
}
本示例演示如何使用模板函数将不同类型的变量转换为std::string。
858

被折叠的 条评论
为什么被折叠?



