C++的string类非常好用,不过跟VB比起来有些不足的就是VB支持任意类型数据拼接在一起,比如: 123 & “abc” & “56” & 111 (&为拼接操作符),为了解决这个问题,我们重载一下&运算符,让C++的string类也支持这个操作。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
template <typename T>
string operator &(const T &_t, const string &s)
{
ostringstream oss;
oss << _t;
return oss.str() + s;
}
template <typename T>
string operator &(const string &s, const T &_t)
{
ostringstream oss;
oss << _t;
return s + oss.str() ;
}
int main(int argc, char *argv[])
{
string ret;
ret = string("45") + "23" & 65 & 1.55;
cout << ret << endl;
return 0;
}
输出结果:4523651.55