社区
C++ 语言
帖子详情
std::istream &is=std::cin??
fasdfdsfdsf
2008-11-12 05:59:35
c++primer有个习题,:
逻辑上讲,我们可能希望将cin作为默认实参提供给接受一个istream&形参的构造函数。编写使用cin作为默认实参的构造函数声明。
Sales_itm(std::istream &is=std::cin){};
小弟不明白,是不是is采用复制构造函数利用cin定义赋值了。
还有就是流到底是什么,谁有cin或者fstream的源码给贴出来看一下
...全文
521
9
打赏
收藏
std::istream &is=std::cin??
c++primer有个习题,: 逻辑上讲,我们可能希望将cin作为默认实参提供给接受一个istream&形参的构造函数。编写使用cin作为默认实参的构造函数声明。 Sales_itm(std::istream &is=std::cin){}; 小弟不明白,是不是is采用复制构造函数利用cin定义赋值了。 还有就是流到底是什么,谁有cin或者fstream的源码给贴出来看一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mujiok2003
2008-11-13
打赏
举报
回复
std::istream& is = std::cin;//没有调用构造函数或拷贝构造函数,因为is只是cin的引用,只是cin的别名
istream的源代码在一般编译器的安装包里都有
ForestDB
2008-11-13
打赏
举报
回复
最一般的引用赋初值(初始化)
jia_xiaoxin
2008-11-13
打赏
举报
回复
is不是采用复制构造函数利用cin定义赋值了。
而是在不传入参数的情况下,将is作为std::cin对象的引用。因为std::cin不是常量对象。
太乙
2008-11-12
打赏
举报
回复
up
太乙
2008-11-12
打赏
举报
回复
up
xxgamexx
2008-11-12
打赏
举报
回复
cin 就是istream对象,把对象传进去应该很普遍吧
这里的意思应该是如:
class A
{
};
voif fun( A &a)//你的
istream &is 和这样的类似
{
...
}
int main()
{
A cin;
fun(cin);
}
CodeNazior
2008-11-12
打赏
举报
回复
mark
0黄瓜0
2008-11-12
打赏
举报
回复
Sales_itm(std::istream &is=std::cin){};
小弟不明白,是不是is采用复制构造函数利用cin定义赋值了。
=============================================
is是std::cin的引用,在不传入其他参数时,使用is就是使用std::cin. 之所以不真接使用std::cin是为了灵活性。也就是这个函数中用到的东西可以从键盘输入,如果传入文件流对象,则是文件输入。
once_and_again
2008-11-12
打赏
举报
回复
exceptional c++
more exceptional c++
具体哪本书不记得,
但是 其中一本讲的非常详细了.......
istream
类的公有成员函数
1 eatwhite 2 get 3 getline 4 gcount 5 ignore 6 operator>> 7 peek 8 read 9 seekg 10 tellg 1 eatwhite 忽略前导空格 2 gcount 统计最后输入的字符个数 3 get 从流中提取字符,包括空格
std
::
cin
.get(ch);...
istream
_iterator,ostream_iterator与vector的转换
利用
istream
_iterator可以很方便的从
istream
里(
std
::
cin
,ifstream等)解析出数据放入vector中 ostream_iterator也可以很方便的把vector中的数据放入ostream中。 textin.txt中存放: 1 2 3 4 5 6 Codeintmain(){vector<double>v1;v1.push_...
C++文件操作与异常处理:构建健壮程序的RAII与异常安全实践
在C++程序开发中,文件操作是程序与外部存储系统交互的基础能力,涉及数据持久化、配置读取和日志记录等核心场景。其实现原理依赖于操作系统提供的I/O接口,通过文件流对象进行数据读写。这项技术的核心价值在于确保程序在资源受限或异常环境下仍能可靠运行,避免数据损坏或资源泄漏。在实际应用场景中,开发者常需处理文件不存在、权限不足或磁盘空间不足等问题,这正是异常处理机制发挥作用的地方。通过资源获取即初始化(RAII)原则,将文件句柄等资源生命周期绑定到对象作用域,结合C++异常机制进行错误报告,可以构建起稳固的文件处
C++格式化I/O实战:从流操作到日志系统设计
格式化输入输出是编程中处理数据表示与交换的基础技术,其核心在于将内存中的数据转换为人类可读或机器可识别的特定格式。在C++中,这主要通过标准库提供的iostreams流机制实现,它利用操作符重载和类型安全保证了数据转换的可靠性。这项技术的工程价值在于构建健壮、可维护的数据接口,是开发数据处理工具、配置解析和通信协议等场景的基石。本文聚焦于格式化I/O在**日志记录系统**中的实战应用,通过设计一个支持自定义格式、多输出目标的日志组件,深入解析如何组合使用流操纵符、字符串解析等技术,解决实际项目中输出格式混乱
C++_IO流与文件操作详解
C++ 输入输出流、流运算符重载、文件流操作、fstream、ifstream、ofstream、二进制文件读写、seekg、read、write
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章