The invention relates to a method, device, electronic equipment and computer readable storage medium for improving string string storage efficiency. The method is as follows: in C++ project development, the structure is defined, the memory data of optimized string object is saved, and the string splitting function is adopted to divide the string object according to the size of data bytes. Class, and the corresponding memory processing, the method will reduce the string object by assignment operation generated memory footprint and performance consumption, improve storage efficiency.
【技术实现步骤摘要】
提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质
本专利技术涉及计算机
,具体涉及一种提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质。
技术介绍
String是C++编程语言中的字符串类型,主要用于字符串处理,在C++项目开发过程中,string是最常用的容器,其中string使用方便,整合较多的字符串的操作,使用率高,性能至关重要,常用的表达形式为std::string类,此表达形式为标准的C++的字符串实现方式,使用此标准形式便于程序的移植,但使用过程中还是存在一些缺点,如占用内存容量大,如果发生对象赋值操作,就会造成多次内存拷贝消耗。
技术实现思路
鉴于现有技术存在的问题,本专利技术的目的是提供一种提高string字符串存储效率的方法、装置、电子设备及计算机可读存储介质,采用优化的string对象的内存模型,采用分层存储策略,减少string对象的内存占用和性能消耗。为了实现上述目的,本专利技术采用的技术方案为一种提高string字符串存储效率的方法,所述方法包括以下步骤:S1、定义结构体,用于保存并处理string对象的数据;S2、调用字符串分类函数,将S1中处理后的string对象数据按照字节大小分类,得到string对象各类别;S3、将步骤S2中得到的各类别进行对应内存处理。在上述技术方案中,所述步骤S1中,所述结构体包括data字段、size字段、capacity字段,其中:data字段为string对象数据;size字段为string对象的大小;capacity字段为string对象的容量 ...
【技术保护点】
1.一种提高string字符串存储效率的方法,其特征在于:所述方法包括以下步骤:S1、定义结构体,用于保存并处理string对象的数据;S2、调用字符串分类函数,将S1中处理后的string对象数据按照字节大小分类,得到string对象各类别;S3、将步骤S2中得到的各类别进行对应内存处理。
【技术特征摘要】
1.一种提高string字符串存储效率的方法,其特征在于:所述方法包括以下步骤:S1、定义结构体,用于保存并处理string对象的数据;S2、调用字符串分类函数,将S1中处理后的string对象数据按照字节大小分类,得到string对象各类别;S3、将步骤S2中得到的各类别进行对应内存处理。2.根据权利要求1所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S1中,所述结构体包括data字段、size字段、capacity字段,其中:data字段为string对象数据;size字段为string对象的大小;capacity字段为string对象的容量大小。3.根据权利要求1所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S2中,所述string对象数据类别包括字节数小于第一预设数值、字节数为第二预设数值与第三预设数值之间以及字节数大于第三预设数值,其中,第一预设数值小于第二预设数值,第二预设数值小于第三预设数值,其中:S21、字节数小于第一预设数值时,string对象数据直接放置于string对象内部,将内存分配至栈上;S22、字节数为第二预设数值与第三预设数值之间时,申请新的内存,动态内存分配函数分配堆内存,根据S1中定义的结构体保存string对象数据;S23、字节数大于第三预设数值时,用引用计数,对string对象数据进行拷贝和处理。4.根据权利要求3所述一种提高string字符串存储效率的方法,其特征在于:所述步骤S23,包括以下步骤:S231、调用创建引用计数函数为每个string对象数据创建引用计数;S232、当string对象数据进行赋值操作时,调用增加引用计数函数将S231中创建的引用计数加1;S233、当不再使用string对象数据时,调用释放引用计数函数将引用计数减1;S234、当引用计数为0时,自动删除string对象的内存。5.一种提高string字符串存储效率的装置,其特征在于:所述装置包括:定义模块,用于定义结构体,用于保存并处理str...
【专利技术属性】
技术研发人员:黄浩,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。