gpt4 book ai didi

c++ - C++中的二进制字符串实现

转载 作者:行者123 更新时间:2023-11-28 07:30:36 24 4
gpt4 key购买 nike

我正在阅读一本关于应用 C++ 的书

Binary string class is needed to collect and maniputlate binary streams of data. These data streams can represent anything from image data to the contents of objects. Here author also mentioned it is like object streaming or object persistance.

作者所说的对象流是什么意思。谁能给我一个关于如何编写二进制字符串类的简单示例。

感谢您的宝贵时间和帮助。

最佳答案

Binary string class is needed to collect and manipulate binary streams of data.

这实质上意味着字符串(或流)可以包含任意数量的元素(二进制数据;位),它们可以表示任何东西,您可以使用该类更改它们。

These data streams can represent anything from image data to the contents of objects.

您可以随心所欲地处理流(通常仅受实现限制)。例如,您可以将原始图像数据加载到流对象中,然后读取单个字节。您也可以将单个字符写入流(或数组)并将其保存为原始图像数据。基本字符串/流不会限制您进行任何单一解释。相反,实际的实现/接口(interface)定义了这部分。

Here author also mentioned it is like object streaming or object persistance.

这里的“对象流”指的是传输一些东西。例如。通过网络或端口发送数据(例如,将其用作发送或接收数据的缓冲区)。 “对象持久化”指的是即使您的程序不再运行(加载/保存)也保留某些东西(让它持久化)。


基本上,几乎任何流以及 STL 中可用的容器都已经是作者认为的二进制字符串。区别只是分组,例如您是否能够访问/读取/写入单个位或字节/字/其他内容?

要获得真正的“比特流”,您可以使用像 std::vector<bool> 这样简单的东西.这允许您存储 bool 值,但您也可以将它们作为不同的东西来读取(例如,通过将内容转换为整数数组来按 block 读取它们)。

但我会说一些像 std::stream 这样简单的东西更符合作者的描述:它可以用来保存持久数据,可以用来传输数据,可以用来存储/加载不同格式/解释的数据。例如,您可以写入单个位或字节,然后将它们作为整数甚至字符串读取。

关于c++ - C++中的二进制字符串实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17812585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com