为自己的流类重载插入操作符
Insertion operator overloading for own stream class
在c++书籍中,我遇到了关于如何重载插入操作符以将数据放入std::ostream的描述。但是当我研究neoengine源码时,我遇到了这样的代码:
File &File::operator << ( const char *pszData )
{
if( m_bBinary )
do m_pkStream->write( pszData, 1 ); while( *pszData++ );
else
*m_pkStream << pszData;
return( *this );
}
可以看到,没有std::ostream使用。我不确定它是否符合c++的标准。我在哪里可以找到任何官方或严肃的文档或一些c++书籍,其中编写的代码如上所示是正确的?也就是说,它是正确的重载插入操作符为自己的流类?提前感谢!
允许重载用户定义类的操作符,如File
。
是否总是一个好主意,是一个意见的问题。
相关文章:
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 有关插入适配器的错误。[错误]请求从 'back_insert_iterator<vector<>>' 类型转换为非标量类型
- 预处理器:插入结构名称中的前一个行号
- 在未初始化映射的情况下,将值插入到映射的映射中
- 如何在c++中只将键插入到bimap的一侧
- 如何将结构插入到集合中并打印集合的成员
- C++json插入数组
- Visual Studio 2019:插入多个C++风格的单行注释
- nlohmann-json将一个数组插入到另一个数组中
- 有效地使用std::unordered_map来插入或增加键的值
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 正在插入动态数组
- 插入或删除时获取usb的dos_name
- 通过操作符[]在map中插入指针类型的值总是NULL
- 为自己的流类重载插入操作符
- 流插入/提取操作符重载函数的原型属于哪里?
- 文件写入,插入操作符和写入函数的区别
- 重载插入操作符:没有找到接受右操作数'unsigned int'(或者没有可接受的转换)
- c++流第二插入操作符
- 插入操作符,const关键字导致编译错误