我有这个代码,
int main()
{
std::string st;
std::stringstream ss;
ss<<"hej hej med dig"<<std::endl;
std::getline(ss,st,' ');
std::cout <<"ss.rdbuf()->str() : " << ss.rdbuf()->str();
std::cout <<"ss.rdbuf() : " << ss.rdbuf();
return 0;
}
给我这个输出
ss.rdbuf()->str() : hej hej med dig
ss.rdbuf() : hej med dig
但这是为什么呢?是不是因为 ostreams 对 operator<str() 的定义给了我不同的输出。在我看来,即使我使用了 getline,输出也应该是相同的。