C++ 什么';在这行中进行的操作:istringstream是(行);

C++ 什么';在这行中进行的操作:istringstream是(行);,c++,C++,正在阅读此解决方案: (关于“如何读取整数到行尾?”) 我不明白这条线在做什么: istringstream is( line ); 我知道istringstream是一个类,但是“是”部分是什么 它是这样做的: istringstream is = new istringstream(line); ? 是自动分配的istringstream的定义,名为,用行的内容初始化 istringstream is = new istringstream(line); 不会编译新建动态分配和构造新

正在阅读此解决方案:

(关于“如何读取整数到行尾?”)

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

istringstream is( line );
我知道istringstream是一个类,但是“是”部分是什么

它是这样做的:

istringstream is = new istringstream(line);
?

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

istringstream is = new istringstream(line);
不会编译<代码>新建
动态分配和构造新对象,并返回指向该对象的指针。只能将指针指定给指针。你可以

istringstream * is = new istringstream(line);
并且make
是指向
istringstream
的指针,但是现在您必须处理动态分配的管理。确保你

delete is;
当你不再需要它的时候


也就是说,我们更喜欢自动分配,并在走动态路线之前进行阅读

is
是所声明变量的名称。
is
与该变量相同。它以
str
作为参数调用构造函数。你的最后一行相当于Java,我想我理解了。我只是从来没有见过一个变量在声明/定义中使用参数?-如果这有意义的话。在Java中,你可以做
String str=new String(“hello”)
。这几乎是一样的。@edmqkk
delete is;