• String类的实现


    1.

    class String

    {

    public:

      String(const char *str = NULL);   // 构造函数

      String(const String &other);    // 拷贝构造函数

      ~String();             // 析构函数

      String &operator = (const String &other);  // 赋值函数

    private:

      char* m_data;

    }

    String::~String()

    {

      delete[] m_data;

    }

    String::String(const char*str)

    {

      if(str == NULL)

      {

        m_data = new char[1];

        *m_data = ''

      }

      else

      {

        int length = strlen(str);

        m_data = new char[length + 1];

        strcpy(m_data,str);

      }

    }

    String::String(const String &other)

    {

      int length = strlen(other.m_data);

      m_data = new char[lenght + 1];

      strcpy(m_data,other.m_data);

    }

    String &String::operator = (const String &other)

    {

      if(this == &other) return *this;

      delete[] m_data;

      int length = strlen(other.m_data);

      m_data = new char[length + 1];

      strcpy(m_data, other.m_data);

      return *this;

    }

    2.

    int strlen(const char *str)

    {

      assert(str != NULL);

      int len = 0;

      while((*str++) != '')

        len++;

      return len;

    }

    3.

    void strcpy(char *strDest, char *strSrc)

    {

      assert((strDest != NULL) && (strSrc != NULL));

      char *address = strDest;

      while((*strDest++ = *strSrc++) != '');

      return address;

    }

    4.

    char* _cdecl strcat(char *dest, const char *src)

    {

      char* cp = dest;

      while(*cp) cp++;

      while(*cp++ = *src++);

      return cp;

    }

    5.

    int strCmp(char *src,char *dest)

    {

      while(*src == *dest  && *src != ''  && *dest != '')

      {

        src++;

        dest++;

      }

      if(*src == ''  && *dest == '')

        ruturn 0;

      else

        return -1;

    }

  • 相关阅读:
    Python记录-python执行shell命令
    Linux记录-centos升级python3
    Linux记录-mysql参数优化
    Linux记录-史上最全的MySQL高性能优化实战总结(转载)
    linux记录-docker配置mysql
    Linux记录-SVN+Jenkins+jdk+maven自动化集成部署
    Linux记录-Nginx+Tomcat负载均衡配置
    linux记录-安装elk记录(参考博文)
    linux记录-安装zabbix监控系统
    Zookeeper简单介绍
  • 原文地址:https://www.cnblogs.com/SnailProgramer/p/4510122.html
Copyright © 2020-2023  润新知