如何像我们在 C++ 中推进 ptr++ 一样推进切片

Gue*_*OCs 1 rust

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

len = av_parser_parse2(myparser, AVCodecContext, &data, &size,
                                 in_data, in_len,
                                 pts, dts, pos);
in_data += len;
Run Code Online (Sandbox Code Playgroud)

in_data是一个缓冲区。它可以先进。

我怎样才能用切片做类似的事情?我知道我可以接受一个 subslice,我什至可以编写一个我可以前进的类,然后返回一个 subslice。

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

vpz*_*frt 7

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