我发现自己不得不 std::cout 各种 double 变量。 我做了一个简单的函数来将 double 转换为 std::string,然后我可以将其与 std::cout 等一起使用。
// Convert a double to a string.
std::string dtos(double x) {
std::stringstream s;
s << x;
return s.str();
}
该函数似乎工作正常,但我的问题是:这种方法是否有任何(坏的)内存影响,即。我是在分配不必要的内存,还是留下任何“悬空”的东西?
谢谢大家 皮特
最佳答案
不,你的代码没问题,阅读代码注释:
std::string dtos(double x) {
std::stringstream s; // Allocates memory on stack
s << x;
return s.str(); // returns a s.str() as a string by value
// Frees allocated memory of s
}
此外,您可以将double
直接传递给cout
。
关于c++ - 将 double 转换为字符串函数 - 内存问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16117528/