C++中对string对象的初始化及赋值方式总结

C++中的string对象是最常用的几种数据类型之一。
初始化string对象的方式有以下几种:

string s1;           //默认初始化,s1是一个空串
string s2(s1);       //s2是s1的副本
string s3("value");  //直接初始化,s3是字面值"value"的副本,除了字面值最后的那个空字符外
string s3 = "value"; //拷贝初始化,等价于s3("value"),s3是字面值"value"的副本
string s4(n,'c');    //直接初始化,把s4初始化为由连续n个字符'c'组成的串
string s5 = string(5,'c');//拷贝初始化,s5的内容是ccccc

上面的内容是抄自《C++ Primer(第五版)》上的,其实用字符串指针也能对string对象进行初始化,举例如下:

#include<iostream>
#include<string>using namespace std;int main() {char *p = "HAHAHAHAHAHA";string str1 = p;string str2(p);string str3;str3 = p;cout << "str1的值是:" << str1 << endl << "str3的值是:" << str2 << endl << "str3的值是:" << str3 << endl;return 0;
}

代码的运行结果是:

C++中对string对象的初始化及赋值方式总结相关推荐

  1. JavaScript -- 时光流逝(三):js中的 String 对象的方法

    JavaScript -- 知识点回顾篇(三):js中的 String 对象的方法 (1) anchor(): 创建 HTML 锚. <script type="text/javasc ...

  2. java 字符串是对象吗_解析Java中的String对象的数据类型

    解析Java中的String对象的数据类型 2007-06-06 eNet&Ciweek 1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所 ...

  3. java 获取对象方法有哪些方法有哪些方法有哪些_Java中创建String 对象的方法有哪些...

    Java中创建String 对象的方法有哪些 发布时间:2020-11-25 16:45:30 来源:亿速云 阅读:71 作者:Leah 这篇文章将为大家详细讲解有关Java中创建String 对象的 ...

  4. Java中判断String对象是否为空的方法

    Java原生的方法: String对象中有一个isEmpty的方法判断是否为空,其实isEmpty完全等同于string.length()==0,注意如果String本身是null,那么使用strin ...

  5. js for in遍历对象_JS中轻松遍历对象属性的几种方式

    自身可枚举属性 Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 .如果对象的键-值都 ...

  6. php初始化函数赋值,PHP变量的初始化以及赋值方式介绍

    什么是变量 变量通俗的来说是一种容器.根据变量类型不同,容器的大小不一样,自然能存放的数据大小也不相同.在变量中存放的数据,我们称之为变量值. PHP 中的变量用一个美元符号后面跟变量名来表示.变量名 ...

  7. HCD中Root Hub对象的初始化

    http://blog.csdn.net/njuitjf/article/details/6292218 前面有篇文章,说到了如何获取USB设备的Descriptor.其中有一个步,通过调用CHcd类 ...

  8. string 类的初始化和赋值(程序成长之路的一颗米)

    string 初始化可以如下表示: string s1(5 * 6, 'a');                 //表示30个'a'来  初始化   s1 但是,如果s1已经定义完毕,再用上述方法去 ...

  9. JAVA中string的赋值_Java中关于String赋值的两种形式

    说明: String在java中是使用频率很高的一个类,之前使用的时候并没有过多的在意,只知道有两种赋值方式,一种是采用字面值方式(String string1 = "string" ...

最新文章

  1. 毕业BG(01背包问题)
  2. 50年前就已讨论的数据中心隐私问题
  3. Android Message解析
  4. python虚拟环境的使用
  5. 替换a链接的href和title
  6. 复习Javascript专题(一):基本概念部分
  7. 广西全国计算机二级考试内容,全国高校计算机等级考试(广西考区)二级考试大纲.doc...
  8. angularjs中的数据绑定
  9. 服务器搬迁方案_IT机房搬迁 实施方案
  10. 产品快速迭代需要注意点
  11. python pip语句
  12. 即时通讯系统开发的问题详解
  13. 借助Amazon EMR与外部KDC进行身份认证,有效集成业务场景
  14. 【记录二十六】Apache Felix 框架
  15. 四种Linux硬盘分区方式,首次安装Linux之磁盘分区
  16. Node.js实现支付宝H5支付
  17. 当APO生产订单报工遇到物料账期没开
  18. (五)图片压缩 —— 优化图片文件、内存
  19. OpenRisc-58-ORPSoC调试环境的构建
  20. 【深圳VS台湾】真正的无人驾驶还要等75年?在台湾已运行大半年(附台湾和深圳无人驾驶公交对比表)...

热门文章

  1. ASP 中常见的错误 80004005 信息
  2. [导入]Nebula3学习笔记(5): IO系统
  3. std::thread的使用
  4. 单目视觉里程计的尺度问题的疑问?
  5. sql 左侧要固定最近一周的周四 怎么写_数据与IT人怎么提高公司地位,避免被业务当工具人?...
  6. 简述中断处理的6个步骤_基于SCDM软件的CFD前处理工作5个步骤
  7. OpenCV-Python实战(19)——OpenCV与深度学习的碰撞
  8. OpenCV-Python实战(番外篇)——利用 KNN 算法识别手写数字
  9. Python输入,输出,Python导入
  10. 向下滑动动画android_Android SwipeRefreshLayout – Android向下拉动/向下滑动即可刷新