本文共 468 字,大约阅读时间需要 1 分钟。
buffer就是一段内存,tc_buffer是对基本buffer操作的封装。 通过类来管理_buffer指针, 它指向堆内存, 释放如下:
~TC_Buffer() { delete[] _buffer; }
从如下可以看到, 内存以2倍扩张:
inline static std::size_t RoundUp2Power(std::size_t size){ if (size == 0) return 0; std::size_t roundUp = 1; while (roundUp < size) roundUp *= 2; return roundUp;}
看了下其他操作, 无非就是内存的各种申请, 释放, 拷贝而已。 其实, 可以把tc_buffer看成是一个类似string的类, 相当于一个通用内存容器, 动态扩张。
tc_buffer是一个与内存紧密相关的操作, 写源码的人, 需要相当注意, 不然各种呵呵哒的问题就出来了。
不多说。
转载地址:http://mgwti.baihongyu.com/