博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tars源码漫谈第22篇------tc_buffer.h/tc_buffer.cpp(内存操作封装)
阅读量:4141 次
发布时间:2019-05-25

本文共 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/

你可能感兴趣的文章
Netconsole to capture the log
查看>>
Build GingerBread on 32 bit machine.
查看>>
How to make SD Card world wide writable
查看>>
Detecting Memory Leaks in Kernel
查看>>
Linux initial RAM disk (initrd) overview
查看>>
Timestamping Linux kernel printk output in dmesg for fun and profit
查看>>
There's Much More than Intel/AMD Inside
查看>>
apache和tomcat整合
查看>>
java虚拟机错误问题
查看>>
oracle建立表空间
查看>>
oracle分区表的性能提升
查看>>
"Cannot allocate memory" OutofMemory when call Ant to build Polish project in Tomcat
查看>>
dumpcap抓包(python)
查看>>
查看文件是否被其他进程访问
查看>>
字符编码详解
查看>>
python使用dpkt分析wireshak报文(Modbus规约)
查看>>
css中的IFC
查看>>
CentOS 6.5下 mysql用户root登录不了
查看>>
windows + tomcat 部署web服务 http 改为https访问方法
查看>>
Windows系统下Apache 服务器启动以及过程中产生问题的解决办法
查看>>