此行中发生了什么:istringstream is(line);

edm*_*qkk 3 c++

正在阅读此解决方案:

/sf/answers/2985805021/

(对于“如何读取整数直到行尾?”这个问题)

而且我不明白这行在做什么:

istringstream is( line );
Run Code Online (Sandbox Code Playgroud)

我知道istringstream是一个类,但是“ is”部分是什么?

是否这样做:

istringstream is = new istringstream(line);
Run Code Online (Sandbox Code Playgroud)

use*_*301 7

istringstream is( line );
Run Code Online (Sandbox Code Playgroud)

是自动分配的istringstream名称的定义,该名称is的内容已初始化line

istringstream is = new istringstream(line);
Run Code Online (Sandbox Code Playgroud)

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

istringstream * is = new istringstream(line);
Run Code Online (Sandbox Code Playgroud)

is指向istringstream,但是现在您需要处理动态分配。确保你

delete is;
Run Code Online (Sandbox Code Playgroud)

当您不再需要它时。

也就是说,更喜欢自动分配并给出C ++程序员为什么应该尽量减少对“ new”的使用?阅读动态路线之前的内容。