正在阅读此解决方案:
https://stackoverflow.com/a/42654357/8408220
(关于“如何读取整数直到行尾?”的问题)
我不明白这条线在做什么:
istringstream is( line );
我知道 istringstream 是一个类,但是"is"部分是什么?
是不是这样做:
istringstream is = new istringstream(line);
?
最佳答案
istringstream is( line );
是一个自动分配的名为
istringstream
的 is
的定义,用 line
的内容初始化。istringstream is = new istringstream(line);
不会编译。
new
动态分配和构造一个新对象并返回指向它的指针。您只能将指针分配给指针。你可以istringstream * is = new istringstream(line);
并使
is
成为指向 istringstream
的指针,但现在您必须处理管理动态分配。确保你delete is;
当你不再需要它时。
也就是说,在使用动态路由之前,更喜欢自动分配并读取 Why should C++ programmers minimize use of 'new'? 。
关于c++ - 这一行发生了什么 : istringstream is( line );,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54730487/