如何在C++中实现buffer的动态扩容

avatar
作者
筋斗云
阅读量:0

在C++中实现buffer的动态扩容通常可以使用动态数组或者使用STL中的vector容器来实现。以下是使用vector容器的示例:

#include <iostream> #include <vector>  int main() {     std::vector<int> buffer;     int capacity = 10; // 初始容量      // 添加元素到buffer     for (int i = 0; i < capacity; i++) {         buffer.push_back(i);     }      // 打印buffer的容量和大小     std::cout << "Buffer capacity: " << buffer.capacity() << std::endl;     std::cout << "Buffer size: " << buffer.size() << std::endl;      // 动态扩容     buffer.reserve(20); // 设置新的容量      // 添加更多元素到buffer     for (int i = capacity; i < 20; i++) {         buffer.push_back(i);     }      // 打印扩容后的buffer容量和大小     std::cout << "Buffer capacity after resizing: " << buffer.capacity() << std::endl;     std::cout << "Buffer size after resizing: " << buffer.size() << std::endl;      return 0; } 

在上面的示例中,我们使用了vector容器来实现buffer的动态扩容。首先,我们设置了初始容量为10,并向buffer中添加10个元素。然后,我们使用reserve函数设置了新的容量为20,并在buffer中添加更多元素。最后,我们打印了扩容后的buffer容量和大小。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!