zoukankan      html  css  js  c++  java
  • C++网易云课堂开发工程师--String复习

    class String{

      public:

        String(const char* cstr = 0);

        String(const String& str);                                  拷贝构造

        String& operator = (const String& str);

        ~String();

        char* get_c_str() const {return m_data;}    

      private:

        char* m_data;

    }

    1.构造函数和析构函数

    String::String(const char* cstr = 0){

      if(cstr){

        m_data = new char[strlen(cstr) + 1];

        strcpy(m_data, cstr);

      }

      else{

        m_data = new char[1];

        *m_data = '';

      }

    }

    析构函数

    inline

    String::String(){

      delete[] m_data;

    }

    copy ctor拷贝构造函数

    inline

    String::String(const String& str){

      m_data = new char[strlen(str.m_data) + 1];

      strcpy(m_data, str.m_data);

    }

    copy assignment operator(拷贝赋值函数)

    inline String&

    String::operator=(const String& str){

      if(this == &str)

        return *this;

      delete[] m_data;

      m_data = new char[strlen(str.m_data) + 1];

      strcpy(m_data, str.m_data);

      return *this;

    }

  • 相关阅读:
    centos下使用yum 安装pip
    unity3d Aniso Level 摄像机近地面清楚,远地面模糊
    Unity3D 多平台 预编译 宏定义
    Mecanim的Avater
    Mecanim 学习概述
    Unity物理系统的触发器
    Unity开发 资源准备
    我的Unity学习路线
    贴图在Unity中的设置
    在Unity中为模型使用表情
  • 原文地址:https://www.cnblogs.com/sky-z/p/9508290.html
Copyright © 2011-2022 走看看