为什么zlibs的z_stream::next_in不是const?

3

我目前正在将代码从另一个stackoverflow问题集成到应用程序中,该问题解压缩来自QByteArray的数据

由于我们启用了所有编译器错误,因此我们必须重新解释和强制转换QByteArray::data():

z_stream strm;
strm.next_in = reinterpret_cast<Bytef *>(const_cast<char *>(data.data()));

为什么这个输入参数不是const?在我看来,这意味着数据会被修改,这绝对不是我想要的,也不是实际发生的事情。
1个回答

6

默认情况下,z_stream接口函数不是const,可能是由于遗留原因。

但是你可以通过使用--const选项在运行configure时构建支持const的zlib。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接