【问题标题】:How to advance slices like we advance ptr++ in in C++如何像我们在 C++ 中推进 ptr++ 一样推进切片
【发布时间】:2020-10-05 02:18:06
【问题描述】:

我正在尝试在 Rust 中模拟这段 C 代码的行为:

len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
                                 in_data, in_len,
                                 pts, dts, pos);
in_data += len;

in_data 是一个缓冲区。可以进阶。

如何用切片做类似的事情?我知道我可以获取一个子切片,我什至可以编写一个可以推进然后返回一个子切片的类。

但是默认库中是否有一些已经这样做的东西?像缓冲切片阅读器之类的东西? PS:不再次复制切片,只拥有它并根据其上的+= 运算符返回子切片。

【问题讨论】:

标签: rust


【解决方案1】:

假设您不尝试移动切片的末尾,您可以使用 in_data = &in_data[len..] 之类的内容对其进行重新切片

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 2017-06-01
    • 2010-12-17
    相关资源
    最近更新 更多