#pragma once
#include <string.h>
#include <stdlib.h>
#include <string>
class StringBuilder
{
public:
const static int kDefaultSize = 64;
public:
StringBuilder()
{
init();
}
StringBuilder(const char* str)
{
init();
append(str, strlen(str));
}
~StringBuilder()
{
}
StringBuilder(const StringBuilder& ps)
{
_size = ps._size;
_capacity = ps._capacity;
_data = ps._data;
}
StringBuilder& operator = (const StringBuilder& ps)
{
_size = ps._size;
_capacity = ps._capacity;
_data = ps._data;
return *this;
}
inline void init()
{
_size = 0;
_capacity = new int(kDefaultSize);
_data = new char*(new char[*_capacity]);
(*_data)[_size] = '\0';
}
inline void clear()
{
if (_capacity)
{
C++ StringBuilder 简易实现,多个对象共享同一内存
最新推荐文章于 2024-04-21 12:57:26 发布
本文介绍了一种简易的C++ StringBuilder实现,该实现允许多个对象共享同一块内存,提高了字符串操作的效率,降低了内存开销。通过巧妙的内存管理和字符串拼接策略,实现了高效且节省资源的字符串构建功能。
摘要由CSDN通过智能技术生成