您将如何限制缓冲区大小以及 return c++ 中的缓冲区限制?
How would you limit a buffer size and also return the buffer limit in c++?
我知道在 Java 中您使用 Bytebuffer .limit() 但我不确定如何在 C++ 中执行此操作。谢谢! ☺
部分代码如下:
float _proj[16];
float _projb[1];
//this->_proj.flip().limit(16);
swap(_proj, _projb);
this->_proj.get(this->proj);
我使用 std::swap 方法而不是翻转,因为 c++ 中没有 ByteBuffer。
一些接近的备选方案是 std::vector
和 std::array
。
如果要使用字节数组,通常uint8_t
,需要将数组传递给函数,以及数组的容量和元素数量。
问题是,当数组传递给函数时,数组衰减为指向第一个元素的指针,没有任何容量信息。
没有任何工具可以防止索引超出数组的限制(容量)。这就是为什么 std::vector
是一个更安全的选择。
我知道在 Java 中您使用 Bytebuffer .limit() 但我不确定如何在 C++ 中执行此操作。谢谢! ☺
部分代码如下:
float _proj[16];
float _projb[1];
//this->_proj.flip().limit(16);
swap(_proj, _projb);
this->_proj.get(this->proj);
我使用 std::swap 方法而不是翻转,因为 c++ 中没有 ByteBuffer。
一些接近的备选方案是 std::vector
和 std::array
。
如果要使用字节数组,通常uint8_t
,需要将数组传递给函数,以及数组的容量和元素数量。
问题是,当数组传递给函数时,数组衰减为指向第一个元素的指针,没有任何容量信息。
没有任何工具可以防止索引超出数组的限制(容量)。这就是为什么 std::vector
是一个更安全的选择。