小编ElO*_*mmy的帖子

C++ stringstream inline

我想std::stringstream用来创建格式化的字符串,但使用内联类,所以我没有stringstream局部变量飞来飞去.我的意思是:

#include <iostream>
#include <ostream>
#include <string>
#include <sstream>

int main(int argc, char* argv[])
{
    std::string test = ((std::ostringstream&)
         (std::ostringstream("") << "This is a test: " << 50.1 << "abc")
         ).str();
    std::cout << test << std::endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

这在GCC中编译很好,但输出如下:

"0x401d0a50.1abc"

因此,似乎stringstream将第一个字符串视为指针并输出地址.随后operator<<的工作很好.

我该如何解决?谢谢!

c++ stl stringstream

6
推荐指数
1
解决办法
1431
查看次数

标签 统计

c++ ×1

stl ×1

stringstream ×1