您本质上是在滥用 C++。对于您正在尝试做的所有事情,您都拥有高级功能。
如果您希望可移植以使用旧编译器,我将sstringstream
用于转换,否则请参见下文。
string MyAdd(int A, char B)
{
stringstream ss;
ss << A << B;
return ss.str();
}
话虽如此,我个人会在这里真正使用 C++11 to_string
,所以我会写这样的东西:
string MyAdd(int A, char B)
{
return to_string(A) + B;
}
请参阅下面的完整测试代码。
主文件
#include <string>
#include <iostream>
using namespace std;
string MyAdd(int A, char B)
{
return to_string(A) + B;
}
int main()
{
cout << MyAdd(0, 'A') << endl;
return 0;
}
构建并运行
g++ -std=c++11 main.cpp && ./a.out
输出
0A
==================================================== =======================
在这里,如果您出于兼容性需要,可以找到我的 c++11 之前的版本:
主文件
#include <string>
#include <iostream>
#include <sstream>
using namespace std;
string MyAdd(int A, char B)
{
stringstream ss;
ss << A << B;
return ss.str();
}
int main()
{
cout << MyAdd(0, 'A') << endl;
return 0;
}
构建并运行
g++ main.cpp && ./a.out
输出
0A