c++ string类默认几种函数实现。

//构造函数传const指针
//参数都是取引用
/*class String
{
public:String(const char *str = NULL);//普通构造函数String(const String &other);//拷贝构造函数,参数为constString & operator=(const String &other);//赋值函数,返回值为构造的对象~String(void);//析构函数
private:char *m_data;
};//析构函数
String::~String(void)
{delete []m_data; //m_data是内部类型
}//普通构造函数,处理传过来的字符串
String::String(const char *str) //用str初始化m_str
{if(str == NULL)//为NULL就初始化为空字符串{m_data = new char[1];*m_data = '\0';}else{int len = strlen(str);m_data = new char[length+1];//分配char类型的内存strcpy(m_data,str);//将数据拷贝到分配的内存}
}//拷贝构造函数,直接分配内存,拷贝对应的数据
String::String(const String &other)//传入的是一个类
{int length = strlen(other.m_data);m_data = new char[length+1];//深拷贝strcpy(m_data,other.m_data);//将数据拷贝到新分配的内存中
}//赋值函数,检查自赋值,释放以前的内存资源,重新分配内存
String & String::operate =(const String &other)//传入一个类,返回对象的引用
{ //检查自赋值if(this == &other)return *this;//自赋值就不能释放资源delete []m_data;//释放未赋值前的内存资源int length = new char[length+1];strcpy(m_data,other.m_data);return *this;
}

c++string类默认函数实现相关推荐

  1. C++ string类常用函数

    C++ string类常用函数 http://xiaocao000.spaces.live.com/blog/cns!F826A925CF33491A!117.entry string类的构造函数: ...

  2. C++string 类常用函数

    转自:http://www.cppblog.com/lmlf001/archive/2006/04/19/5883.html string类的构造函数: string(const char *s);  ...

  3. C++ string 类常用函数

    string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类 ...

  4. C++string类常用函数

    string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类 ...

  5. C++string类常用函数 c++中的string常用函数用法总结

    string类的构造函数: string(const char *s);    //用c字符串s初始化 string(int n,char c);     //用n个字符c初始化 此外,string类 ...

  6. C++中string类常用函数总结

    string类的使用 string类的使用 一. string的构造函数的形式 string类的输入 二. string的大小和容量 三. string的字符串比较 四. string的插入:push ...

  7. 【笔试】:编程实现C++string 类成员函数

    http://blog.csdn.net/wangshihui512/article/details/9792309 已知String类声明如下: [cpp] view plaincopy print ...

  8. C++ _ string类常用函数(字符大小写转换与判断)

    文章目录 1.string类介绍 2.字符大小写转换与判断常用函数 2.1 字符大小写判断 2.1.1 isalpha() 2.1.2 isalnum() 2.1.3 islower() 2.1.4 ...

  9. 新手C#string类常用函数的学习2018.08.04

    ToLower()用于将字符串变为小写,注意字符串的不可变特性,需要重新赋值给另一个字符串变量. s = s.ToLower();//字符串具有不可变性,转换后需要重新赋值,不可仅有s.ToLower ...

最新文章

  1. vim粘帖的一个问题分析(pastetoggle)
  2. Pacbio三代基因组组装简介
  3. POJ 2186 Tarjan
  4. 为什么matlab生成的exe文件只能在matlab中打开,在电脑的其他地方打不开?
  5. deeplearning4j – 分布式DL开源项目
  6. 如何把Access转成SQL Server的方法介绍
  7. 怎样修改老旧commit的message信息?
  8. BZOJ3833 : [Poi2014]Solar lamps
  9. 小记一下:CentOS里用多个iso镜像安装Xen虚拟机
  10. java 模糊查询 分页(自定义标签)
  11. 共射级三极管放大电路与其饱和失真与截止失真的分析
  12. [导入]北京地区铁路客票代售点列表
  13. ODI报错/警告/调度异常流程信息
  14. 海思AI芯片(35xx):板端运行报错
  15. Axure RP 9”已损坏,无法打开。 您应该将它移到废纸篓。
  16. Lambert (兰伯特)光照模型
  17. 苹果手机在哪里清理内存_iphone苹果手机内存不足之清理大法
  18. 真实案件之:意料之外的 RAC 宕机罪犯 - 子游标
  19. 计算机python实验报告_Python实验报告六:函数
  20. python绘制三角函数图像

热门文章

  1. 第7.26节 Python中的@property装饰器定义属性访问方法getter、setter、deleter 详解
  2. 【2017-05-30】WebForm文件上传。从服务端删除文件
  3. “全能”选手—Django 1.10文档中文版Part1
  4. ubuntu 串口转usb使用
  5. centos6.0下ffmpeg的安装编译经历
  6. 汇编实验 用表格形式显示字符(附源码详细注释和相关注意的知识)
  7. Matlab GUI 设计(4):不同控件之间的数据传递
  8. SpringCloud 微服务 (十) 消息队列MQ 基础
  9. nginx 禁止IP访问服务器和非法域名绑定你的IP
  10. Oracle Eneterprise Linux 5.8上安装Database 12c