gpt4 book ai didi

c++ - 为什么 zlibs z_stream::next_in 不是常量?

转载 作者:太空狗 更新时间:2023-10-29 20:23:00 25 4
gpt4 key购买 nike

我目前正在整合来自另一个堆栈溢出问题的代码,即 uncompresses data from a QByteArray进入应用程序。

由于我们启用了所有编译器错误,我们必须重新解释 QByteArray::data() 的 const_cast 和 const_cast:

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

为什么这个输入参数是非常量的?在我看来,这表明数据以某种方式被修改,这绝对不是我想要的,也不是我认为实际发生的情况。

最佳答案

默认情况下,z_stream 接口(interface)函数不是const,大概是出于遗留原因。

您可以构建带有 const 支持的 zlib,但是通过使用 --const 运行 configure

关于c++ - 为什么 zlibs z_stream::next_in 不是常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35265568/

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