这一行是怎么回事: istringstream is( line );

What's going on in this line: istringstream is( line );

本文关键字:is istringstream line 一行 怎么回事      更新时间:2023-10-16

正在阅读此解决方案:

https://stackoverflow.com/a/42654357/8408220

(对于"如何读取整数直到线结束?"的问题)

我不明白这条线在做什么:

istringstream is( line );

我得到的是一类,但是"是"部分?

是这样做:

istringstream is = new istringstream(line);

istringstream is( line );

是自动分配的istringstream的定义,名为isline的内容初始化。

istringstream is = new istringstream(line);

不会编译。new动态分配和构造一个新对象,并返回指向它的指针。您只能将指针分配给指针。你可以

istringstream * is = new istringstream(line);

并将is作为istringstream的指针,但是现在您必须处理管理动态分配。确保您

delete is;

当您不再需要它时。

也就是说,更喜欢自动分配,并给出为什么C 程序员应该最大程度地减少使用"新"的使用?在进行动态路线之前阅读。