std::istream&初始化的问题
来源:互联网 发布:中电四公司怎么样 知乎 编辑:程序博客网 时间:2024/05/23 22:00
今天在项目中遇到一个小问题,记录一下,就是如何在初始化一个在类中的流引用,但是我需要我的构造函数不能传入一个流,因为我的构造函数不一定全部是需要传入流这个参数的,
示例如下:这是传统的方法,但是有时候我并不需要在构造函数传入一个流,哪该如何解决这个问题
class Test{public: Test(int a, std::istream& s) : _myStream(s), _a(a){}; //Test(int a) : _a(a){}; 我需要的是这个,但是_myStream必须初始化private: std::istream& _myStream; int _a;}
解决办法:强行构造一个子类的stringstream的引用,进行初始化,我们无法强行构造一个istream的引用,因为它的copy构造函数是delete的
class Test{public: Test(int a, std::istream& s) : _myStream(s), _a(a){}; Test(int a) : _a(a) ,_myStream((stringstream&(stringstream())) {}; private: std::istream& _myStream; int _a;}
这个方法解决了我的问题,此后我调用Test(int a)对象就不需要强行传入一个istream对象进去,有必要的时候才会掉用Test(int a, std::stream& s)
阅读全文
0 0
- std::istream&初始化的问题
- std::istream::get的误用
- std::istream::ignore() 函数
- 关于字符串指针初始化std::string的一个小问题
- IStream的简单用法
- istream的对象
- istream
- IStream
- IStream
- LinuxC/C++编程基础(35) std::istream使用实例
- 一些有用的istream功能
- C++中istream的使用
- vs2005 std::locale 的问题
- std::locale::global 的问题
- std::string crash的问题
- error C2678: 二进制“>>”: 没有找到接受“std::istream”类型的左操作数的运算符(或没有可接受的转换)
- std::set::lower_bound与std::lower_bound的效率问题
- Std::list iterator 的初始化和有效性判断
- bzoj 4300: 绝世好题
- 利用css实现斜线方法
- Python 调用cobbler API 学习笔记
- Redis客户端管理工具的安装及使用
- 第二行代码第五章笔记
- std::istream&初始化的问题
- SDUT-1187 简单编码
- Axios的配置 此处输入图片的描述 既然尤大推荐的应该有过人之处,好吧于是在新的项目上开始使用Axios,开启这段学习(踩坑)的历程。 安装 1 npm install axios 使用 Axio
- Nuttx在Atmel SAMV71 Xplained上的配置
- 严重: Compilation error 解决方案
- jdbcTemplate实现crud操作(添加、删除、更改操作)
- JAVA处理html标签
- Nginx location 配置用法及正则例子
- Java GUI学生成绩管理系统--管理员界面