我想从 2 个指针创建组合缓冲区,而不进行任何复制。
示例:顶部和底部都是已分配的带有只读数据的缓冲区:
uchar top[10]; uchar bottom[10];
我需要这样的东西:
struct Buffer { uchar * top, * bottom; };
Buffer buffer; buffer.top = & top; buffer.bottom = & bottom;
然后使用缓冲区作为单个数组:
process( & buffer, size20 );
process 是某个库中的函数:
void process( uchar * buffer, int size );
c/c++ 中有一些方法可以做到这一点吗?
最佳答案
无法定义Buffer
,以便分配两个不同数据字符串首尾相连。您必须将其定义为
struct Buffer { uchar top[10], bottom[10]; };
然后您必须通过直接拷贝设置这些值。
关于c++ - 来自 2 个指针的组合缓冲区,无需复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48486274/