C++将流操纵器复制到其他流
C++ copy stream manipulator to other stream
想象一个std::ostream& operator<<
想要用数字做一些事情。为此,有些人可能想使用std::hex
,有些人则可能不想使用,不管怎样,任何操纵器都是可能的。
如果没有作为参数传递的ostream
的文本内容,我如何将它们复制到另一个std::ostream
?我只需要的操纵器。
所以我想要std::cout << std::hex << someCoolClass(10)
,其中someCoolClass
可以看起来像
struct someCoolClass
{
someCoolClass(int i) : _i(i)
{}
friend std::ostream& operator<<(std::ostream& os, const someCoolClass& rhs)
{
std::stringstream ss;
//magically copy manipulators of os
ss << _i;
return os << ss.str();
}
private:
int _i;
};
打印CCD_ 7。我知道这个例子是无用的,尤其是将整数转换为字符串的另一个流似乎也是无用的,但让我们想象一下,这不是无用的,也不是纯粹的废话。
谢谢。
ios::copyfmt
friend std::ostream& operator<<(std::ostream& os, const someCoolClass& rhs)
{
std::stringstream ss;
ss.copyfmt(os); // <- copy formatting
ss << rhs._i;
return os << ss.str();
}
DEMO
相关文章:
- 有没有办法使用 strcpy 将字符串数组复制到另一个字符串或其他数组中?
- 将 Vector<String > 元素复制到其他 Vector<String>* (1 作为
- 如何将几个变量复制到其他变量
- 我的 c 字符串复制函数正在损坏其他变量的堆栈
- 是否有其他方法将.dll文件从一个项目复制到我的启动项目中的可执行文件旁边
- 如何复制包含指向其他几个成员之一的指针的对象?
- 为什么删除的复制构造函数不允许使用其他具有多态类型的构造函数?
- 将图像文件(.BMP)复制到其他位置
- 您可以将链接器/其他依赖项等复制到其他项目吗?
- 在C++中将一个二维数组复制到其他未知大小的二维数组
- 将二维数组元素复制到另一个具有其他大小的二维数组中
- 模板嵌套类的构造函数问题(复制 ctor 似乎覆盖了其他 ctor)
- 如何使用指针将数组复制到内存中的其他位置
- 将零复制到 char 数组中也会清除其他 char 数组
- 将证书文件复制到其他位置
- 我想复制 (wchar_t *) 缓冲区中的数据,但我无法这样做 bcz 还有其他不兼容的类型,类型转换但没有得到结果
- C++将流操纵器复制到其他流
- 在其他构造函数中调用复制构造函数
- 将数据从一个AudioSampleBuffer复制到其他类中的另一个
- 正在使用标准流将文件复制到其他位置