String

  • string是字符串,在声明一个字符串的时候,比如string a;这个过程是在栈上进行的,但是如果给这个字符串分配内存空间,这段区间是存储在堆上的,因此最好在声明字符串的时候就要指出字符串的大小和对其进行初始化
  • string s1; 最好不要使用这种方式,效率低下
  • string s3 = "Hello";可以使用
  • string s4 = (10,'0');最好使用,不仅申请了一段内存空间还使用0对其进行初始化

直接初始化和拷贝初始化

  • 使用等号,等号的右边是一个字符串,那么这种方式是拷贝初始化
  • 不使用等号,则执行的是直接初始化

string上的操作

  • string会自动忽略开头的空白,比如空白符、换行符、指标符等等,并从第一个真正的字符读起,直到遇到下一处的空白为止
  • 使用getline读取一整行,函数的参数是一个输入流和一个string对象,从输入流中读取数据存入到string中,只要遇到换行符就会停止读取数据,虽然读取了换行符号,但是换行符号不会被存储到字符串中。
  • 如果想要改变string对象中字符串的数值,必须把循环变量定义成引用类型,引用只是给定对象一个别名,当使用引用作为循环控制变量的时候,这个变量实际上被一次绑定到序列的每一个元素上,使用引用就可以改变绑定的字符。
    std::string s("Hello World");for (auto &c : s) {c = toupper(c);}std::cout << s << std::endl;return 0;
  • 使用string对象中的单个字符有两种方式:1,使用下标;2,使用迭代器

C++字符串的个人理解相关推荐

  1. 关于java字符串+加号的理解

    关于java字符串+加号的理解 打开idea自带的jclasslib可看出+号编译期优化和出现变量之间的区别.请观看下图解析.

  2. 爬虫中的关于字符串的一些理解

    1.基本概念 字符(Character)是各种文字和符号的总称,包括各国家文字.标点符号.图形符号.数字等 字符集(Character set)是多个字符的集合 字符集包括:ASCII字符集.GB23 ...

  3. python反转字符串递归怎么理解_Python使用递归反转字符串

    要递归地解决一个问题,找到一个容易解决的小问题,并通过将问题分解为其自身的越来越简单的版本来找出如何解决这个小问题. 你倒弦的第一件事是什么?第一件事是什么?你得到了字符串的最后一个字符,对吧? 所以 ...

  4. 字符串赋值方式理解 sizeof 和strlen的一些区别

    #include<stdio.h> #include<string.h>  int main() {  int a,i=0;  char ch[10000];  while(s ...

  5. 一篇文章助你理解Python3中字符串编码问题

    前几天给大家介绍了unicode编码和utf-8编码的理论知识,以及Python2中字符串编码问题,没来得及上车的小伙伴们可以戳这篇文章:浅谈unicode编码和utf-8编码的关系和一篇文章助你理解 ...

  6. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 字符串,是Java中最常用的一个数据类型了.关于字符串的知识,作者 ...

  7. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 本文,也是对于Java中字符串相关知识的一个补充,主要来介绍一下字 ...

  8. 【 C 】彻底学会字符串常量

    当一个字符串常量出现在表达式中时,它的值是个指针常量.编译器把这些指定字符的一份拷贝存储在内存的某个位置,并存储一个指向第一个字符的指针.但是,当数组名用于表达式中时,它们的值也是个指针常量.我们可以 ...

  9. java字符串拼接_为什么阿里巴巴不建议在for循环中使用quot;+quot;进行字符串拼接...

    点击上方"Java专栏",选择"置顶或者星标" 第一时间阅读精彩文章! ☞ 程序员进阶必备资源免费送「21种技术方向!」 点击查看☜ 字符串,是 Java 中最 ...

最新文章

  1. linux socket 错误 Transport endpoint is not connected 在 recv shutdown 中的触发时机
  2. python常用数据结构_Python入门: 数据结构大汇总
  3. python3嵌套列表解析
  4. day07-vue项目-搭建项目到登录功能
  5. 方正飞腾4.0视频教程
  6. android课程设计多彩的霓虹,Android-自定义TextView(彩色字体与霓虹灯字体以及TextView的多项字体效果)...
  7. 即时通讯工具的优缺点分别是什么
  8. Google浏览器书签栏优化
  9. 乐吾乐le5le-Topology为智慧水务可视化赋能(一)
  10. web前端开发师前景,96道前端面试题
  11. 基于消防GIS系统的智慧消防应用
  12. 2018.8 安徽师大附中培训游记
  13. TBSchedule源码阅读1-TBScheduleManagerFactory
  14. 全网首发!马士兵内部共享—1658页《Java面试突击核心讲》
  15. HDU - 1824 Let's go home
  16. ipxe无盘服务器,ipxe uefi pxe HTTP启动文件及启动菜单的个人体会
  17. 2022最新企业发卡网源码+直接搭建可用
  18. 树莓派安装python3.8_python-在树莓派3上运行librosa和numba
  19. 我的CSS学习笔记(五)
  20. A Crash Course on the Depths of Win32 Structured Exception Handling

热门文章

  1. js date转成 时间字符串_秋招快要开始了,前端笔试中的坑位-JS隐式转换问题
  2. 界面原型设计工具Balsamiq、墨刀、Axure、Mockplus
  3. C#中集合接口关系笔记
  4. 【转】聊聊分布式事务,再说说解决方案
  5. 一步步编写操作系统21 x86虚拟机bochs 跟踪bios
  6. html5中将doctype分为几种,html5与html 4.01的区别 doctype几种分类及其不同
  7. QStackedWidget实现自适应紧凑布局
  8. 【Python 必会技巧】使用 zip() 函数对序列进行压缩和解压操作
  9. instant.page —— 一个 JS 脚本实现网站预加载,提升页面加载速度
  10. 分治算法求最大最小值c语言,[蓝桥杯][算法提高VIP]和最大子序列 (C语言代码)分治法...