1. C语言的字符串,char * s = "aaaa";
#include<string>
class Test
{
  public :
    Test(int a, char*name)
    {
      this->a=a;
      int len = strlen(name);
      this->name=new char[len+1];
      strcpy(this->name,name);
    }
    ~Test()
    {
      if(this->name!=NULL)
      {
        delete name;
        name =NULL;
      }
    }
  private:
    int a;
    char* name;
}
// strlen("123")只是字符串的有效长度,不是实际长度,实际是"123\0",区别于sizeof("123"),sizeof只是数据类型的大小,"asdfadsf"的数据类型是char*,sizeof("123")是指sizeof(typeof(*char))

2. C++的字符串
//如果是c++的字符串,那么
string name;
//这个name值就是string的对象。
那么,构造函数,可以为
Test(int a, char*name)
{
  this->name = name;//如果name没有初值,应该是调用拷贝构造函数;如果有初值,应该是调用=操作符函数;
}

3. string对象包裹了char* 变量;
int main(void)
{
  stirng s1="123";
  stirng s2="456";
  string s3 =s1+s2;//调用了+操作符函数
  s1[1]='x';//重载[]操作符
  cout<<s1<<endl;//重载<<操作符
}

4. string 类型重写了>>号操作符,要调用cin>>str,也要include<string>
istream & operator>>(istream & ins,string &str)
{
  if(str.str!=NULL)
  {
    delete[] str.str;
    str.str=NULL;
  }
  char temp_str[4096]={0};
  cin>>temp_str;//char*默认就有重写>>号的。
  s.str=new char[strlen(temp_str)+1];
  strcpy(s.str,temp_str);
  return ins;
}

5.char *strcat(char *dest, const char *src);//往字符串最后空白的地方追加字符串
注意,在使用strcat(str1,"aaaaa");的时候,str1一定要有初始值,不然不知道追加到哪里了
int main(void){
  char *str1 = new char[10]{0};//new char[10]{'\0'}这样可能可以。
  memset(temp.str,0,10);
  strcat(str1,"aaaaa");
  strcat(str2,"bbbb");
}
//如果使用strcpy就不用

最新文章

  1. loadrunner录制脚本如何选择使用get请求和post请求的方式
  2. 使用Wireshark 抓取数据包
  3. 和菜鸟一起学linux总线驱动之初识spi驱动数据传输流程【转】
  4. VoltDB公布4.0版本号,大步提高内存实时分析速度,进军操作数据库市场
  5. Java – 4 Security Vulnerabilities Related Coding Practices to Avoid---reference
  6. java排序方法中的插入排序方法
  7. Ubuntu 15.10 x64 安装 Android SDK(转)
  8. mint-ui —— navbar和tab-container的区别
  9. 【HTTP协议】---HTTPS协议
  10. .net c#获取自定义Attribute
  11. JPQL模糊匹配单个字符
  12. java实现获取当前年月日 小时 分钟 秒 毫秒
  13. C#导出HTML到PDF组件Pechkin
  14. UITableViewCell 取消分隔线
  15. Gym 100712I Bahosain and Digits(开关翻转问题)
  16. 1412. [ZJOI2009]狼和羊的故事【最小割】
  17. 深入理解JavaScript系列(11):执行上下文(Execution Contexts)
  18. Office文档如何转换 PDF 转 DOC XLS
  19. python学习-43 装饰器 -- 函数闭包2
  20. &quot;Class does not support Automation or does not support expected interface&quot;数据库连接错误问题分析与解决

热门文章

  1. 确认自己所用的python版本
  2. php实现商城秒杀
  3. LitePal的查询
  4. JavaEE——JSP开发模式(model1)
  5. maven在线自动更新太慢怎么办?
  6. Qt5教程: (8) 标准对话框和文件对话框
  7. 洛谷P3258 [JLOI2014]松鼠的新家【LCA+树上差分】
  8. 机器学习实战3:逻辑logistic回归+在线学习+病马实例
  9. c++::Mysql::ORM 开发环境搭建
  10. url中常见符号说明