• 大小: 6.27KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 标签: c++  c  序列化  

资源简介

C 实现序列化,简单的讲是将C 里的对象(此处是广义上的对象,内置类型或者用户自定义类型)数据变成char*,即单个字节的数据,这样方便传输等,涉及到的知识点有C 中的函数重载,操作符重写,allcotor,左值和右值,继承,模板等

资源截图

代码片段和文件信息

#include “CharVec.h“

CharVec::CharVec() :
    m_Elements(nullptr)
    m_FirstFree(nullptr)
    m_Cap(nullptr)
{}

CharVec::CharVec(const CharVec &vec)
{
    auto newData = allocAndCopy(vec.begin() vec.end());

    m_Elements  = newData.first;
    m_FirstFree = newData.second;
    m_Cap       = newData.second;
}

CharVec &CharVec::operator =(const CharVec &vec)
{
    auto newData = allocAndCopy(vec.begin() vec.end());
    free();

    m_Elements  = newData.first;
    m_FirstFree = newData.second;
    m_Cap       = newData.second;

    return *this;
}

CharVec::~CharVec()
{
    free();
}

bool CharVec::operator ==(const CharVec &vec) const
{
    if (m_Elements == vec.m_Elements &&
            m_FirstFree == vec.m_FirstFree &&
            m_Cap == ve

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2914  2018-11-03 15:55  Serialization\CharVec.cpp

     文件        995  2018-11-03 11:30  Serialization\CharVec.h

     文件        494  2018-11-03 11:42  Serialization\CustomTypeInterface.cpp

     文件       2533  2018-11-03 13:13  Serialization\CustomTypeInterface.h

     文件        503  2018-11-03 12:39  Serialization\DataHeader.cpp

     文件        311  2018-11-03 12:39  Serialization\DataHeader.h

     文件       8391  2018-11-03 12:48  Serialization\DataStream.cpp

     文件       8627  2018-11-03 12:59  Serialization\DataStream.h

     文件        730  2018-11-03 16:59  Serialization\main.cpp

     目录          0  2018-11-03 17:03  Serialization

----------- ---------  ---------- -----  ----

                25498                    10


评论

共有 条评论