c++初始化string对象的方式有以下几种常见的方式。

/**定义和初始化string**/

string s1;              ///默认的初始化,s1为一个空字符串。
    string s2 = s1;         ///s2是s1的副本。
    string s3 = "abcd";     ///s3是该字符串字面值的副本。
    string s4("abcd");      ///等价于s3="abcd",除了字符值最后的那个空字符“\0”。
    int n = 10;
    string s5(n,'c');      ///s5的内容是cccccccccc,即n个字符c组成的串。

12345678910

tips—–直接初始化与拷贝初始化的区别

一般来说使用等号初始化一个变量就是拷贝初始化。
同理,不使用等号就是直接初始化。
12

string s6 = "abcd";     ///拷贝初始化,拷贝的字符串为"abcd'\0'"。
    string s7("abcd");      ///直接初始化,s7的值为"abcd"。
    string s8(10,'c');      ///直接初始化,内容为cccccccccc。123

如同上面例子的s6就是拷贝初始化,s7和s8就是直接初始化。

当然以下写法也可以做到拷贝初始化,也许有时候总会有人不想要直接初始化在字符串后面的’\0’这个空字符或者就是想强行拷贝初始化。

/**合法但是不太推荐的初始化写法*/
    string s9 = string(10,'c'); ///拷贝初始化
    ///等价于
    string temp(10,'c');
    string s10 = temp;12345

不过显而易见,这样子的写法在大多数情况下既不好看也没啥用。
————————————————
版权声明:本文为CSDN博主「两米长弦」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/peng0614/article/details/79532966

string学习笔记1相关推荐

  1. Java的string学习笔记 与char数组和bufferstring的比较

    ---恢复内容开始--- 一直用的C 导致这种类望而生畏 现在终于鼓起勇气学习一下 首先学习string类型 1 String s1 = "AbCdEf"; 2 String s2 ...

  2. Java String 学习笔记 (一)

    2019独角兽企业重金招聘Python工程师标准>>> ###String 简介 String 并非java的8大基本数据类型之一. java中基本数据类型存储在栈内存中.而Stri ...

  3. Attributed String学习笔记

    在实习中要实现下图中NavigationBar上的效果,经过考虑后认为使用NSAttributedString最为合适 根据官方文档介绍,Attributed string objects可以拥有一些 ...

  4. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  5. 数据结构学习笔记(五):重识字符串(String)

    目录 1 字符串与数组的关系 1.1 字符串与数组的联系 1.2 字符串与数组的区别 2 实现字符串的链式存储(Java) 3 子串查找的简单实现 1 字符串与数组的关系 1.1 字符串与数组的联系 ...

  6. python复制指定字符串_python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...

    python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...

  7. 前端JS学习笔记——内置对象Math、Date 、Array、String

    目录 1.Math常用方法 2.Date()方法 如何获取Date的时间戳 Date()方法的使用 格式化日期时间 格式化输出一串时间日期 倒计时功能 3.Array方法 创建数组对象的两种方法 检测 ...

  8. 冰冰学习笔记:string类的简单模拟

    欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正. 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位大佬.帅哥.美女点点支 ...

  9. 学习笔记:C++初阶【C++入门、类和对象、C/C++内存管理、模板初阶、STL简介、string、vector、list、stack、queueu、模板进阶、C++的IO流】

    文章目录 前言 一.C++入门 1. C++关键字 2.命名空间 2.1 C语言缺点之一,没办法很好地解决命名冲突问题 2.2 C++提出了一个新语法--命名空间 2.2.1 命名空间概念 2.2.2 ...

最新文章

  1. python中数据类型为list_python_数据类型_list
  2. 《神探tcpdump第一招》-linux命令五分钟系列之三十五
  3. C#拾遗(一、基本类型)
  4. 我人生的贵人系列之 - 文深刘
  5. spring框架文档学习(包会)
  6. java如何读取下拉列表的值_java - 如何在Selenium 2中选择/获取下拉选项
  7. 分布式唯一ID生成器
  8. POJ2019(二维RMQ问题 ST)
  9. 配置hadoop集群
  10. C++ explicit关键字应用方法详解
  11. 1.1.1 计算机网络的概念、组成、功能和分类(转载)
  12. 10.卷1(套接字联网API)---SCTP 客户/服务器程序例子
  13. 【踩坑速记】二次依赖?android studio编译运行各种踩坑解决方案,杜绝弯路,总有你想要的~...
  14. Python3的opencv环境搭建简易教程
  15. CamRaptor:针对DVR摄像头的漏洞利用工具
  16. 基于MATLAB的战术手势识别功能的设计与实现
  17. 1068. Find More Coins (30)搜索题
  18. 2015校园招聘联通笔试的几个题目
  19. 【烈日炎炎战后端】MySQL理论(2.8万字)
  20. Java判断字符串是否为数字(正负、小数)

热门文章

  1. 用UltraEdit判断打开文件的编码类型 用UltraEdit或notepad记事本查看文件编码格式 用UltraEdit查看当前文件编码...
  2. 进程、线程与任务程序之间的关系
  3. 痛与快乐有一个代码是什么_养一只真大型犬的生活是什么样的?铲屎官:痛并快乐着!...
  4. ai如何做倒角和圆角_石材路沿石是如何倒角的?倒角费用是多少?路沿石质量标准?...
  5. [网络安全自学篇] 九十.远控木马详解及APT攻击中的远控和防御
  6. Swift之Codable自定义解析将任意数据类型解析为想要的类型
  7. SwiftUI之深入解析属性包装器如何处理结构体
  8. 马斯克认为 AI 必超越并威胁人类,他宁愿搞脑机接口也不碰AI
  9. 使用python发送邮件和接收邮件
  10. ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作