首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这行中发生了什么: istringstream是(行);

这行中发生了什么: istringstream是(行);
EN

Stack Overflow用户
提问于 2019-02-17 13:41:38
回答 1查看 89关注 0票数 3

正在阅读这个解决方案:

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

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

我不明白这行是做什么的:

代码语言:javascript
复制
istringstream is( line );

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

它是这样做的吗:

代码语言:javascript
复制
istringstream is = new istringstream(line);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-17 13:51:19

代码语言:javascript
复制
istringstream is( line );

是使用line的内容初始化的名为is的自动分配istringstream的定义。

代码语言:javascript
复制
istringstream is = new istringstream(line);

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

代码语言:javascript
复制
istringstream * is = new istringstream(line);

并使is成为指向istringstream的指针,但现在您必须处理管理动态分配的问题。确保你

代码语言:javascript
复制
delete is;

当你不再需要它的时候。

也就是说,更喜欢自动分配,并在执行动态路由之前读取Why should C++ programmers minimize use of 'new'?

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54730487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档