C++字符串的个人理解

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,使用迭代器

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/446880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 基础性能数据获取(/proc/)

一、系统内存 读取命令&#xff1a; /proc/meminfoJava代码&#xff1a; private void click(){try{String cmd "/proc/meminfo";BufferedReader reader new BufferedReader(new InputStreamReader(new FileInputStream(cmd)), 1000);StringBuilder sb new Stri…

物理 常见力与牛顿三定律

常用知识点 动量 dmvdmvdvm p-mv- f-dp-/dtma- 开普勒第三定律 r1^3__k只与恒星质量有关 T^2 总结 1.电梯匀速就相当于在地面,加速或减速就会有一个a 2.当合外力为0时,物体保持静止或匀速直线运动 3.力是改变物体运动状态的原因 4.重力在地球两极最大,赤道最小,随纬度…

Java命令:jmap — 打印指定进程的共享对象内存映射或堆内存细节

文章目录一、前言二、命令介绍三、使用实例1、jmap -heap [pid]2、jmap -histo[:live] [pid]3、jmap -histo[:live] [pid] |grep "[关键字1]\|[关键字2]"4、jmap -dump:live,formatb,filea.log [pid]四、总结一、前言 jdk安装后会自带一些小工具&#xff0c;jmap命令…

C++vector相关学习,我的理解

vector的初始化方式 1&#xff0c;使用拷贝初始化时候&#xff0c;即使用的时候&#xff0c;只可以提供一个初始值2&#xff0c;如果提供一个类内初始值&#xff0c;只可以使用拷贝初始化或者使用花括号的方式初始化3&#xff0c;如果提供的是初始元素值的列表&#xff0c;只可…

概率论 一维随机变量

随机变量 离散型随机变量:有限个或无限可列个 连续型随机变量 分布函数F(X) 范围是[a,b) 包含能取到a以及a之前的值的概率相加 分布律(概率分布) 1.所有概率相加为1 2.WX-1,计算出每一个对应的W,然后如果有相同的W就合并其概率,最后一一对应P(x)即可 概率密度函数(密度) …

Linux命令:grep命令详解

grep常用参数说明 grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]OPTIONS:-e: 使用正则搜索-i: 不区分大小写-v: 查找不包含指定内容的行-w: 按单词搜索-c: 统计匹配到的次数-n: 显示行号-r: 逐层遍历目录查找-A: 显示匹配行及后…

ECC密钥结构和密码学基础

参考链接 密码学基础3&#xff1a;密钥文件格式完全解析ECC数据结构

JAVA牛客专项练习2020.12.31

1.使用迭代器的remove方法&#xff0c;可以边遍历边删除元素 2.线程 启动线程 new thread&#xff08;&#xff09;.start&#xff08;&#xff09; new thread&#xff08;new runnable&#xff08;&#xff09;&#xff09;.start&#xff08;&#xff09; 普通方法&#xf…

Linux命令:find命令详解

find命令格式 find path -option [-print] [-exec -ok |xargs |grep] [command {} \;]# 参数说明path: find命令所查找的目录路径。~ 表示$HOME目录;.来表示当前目录;/来表示系统根目录。-print: find命令将匹配的文件输出到标准输出。-exec: find命令对匹配的文件执行该参数所…

boost::interprocess::named_mutex的翻译和学习

官方地址 named_mutex 简介 // In header: <boost/interprocess/sync/named_mutex.hpp>class named_mutex { public:// construct/copy/destruct 构建/复制/销毁named_mutex(create_only_t, const char *, const permissions & permissions());named_mutex(open_o…

安卓牛客专项练习2020.12.31

1.窗口dialog或半透明 2.Pracelable性能比serializable高

MAC查找JDK的路径

在控制台中输入&#xff1a; /usr/libexec/java_home -V输出如下结果&#xff1a; Matching Java Virtual Machines (4):1.8.0_121, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home1.7.0_79, x86_64: "Java SE 7&quo…

sqliteorm的sync_schema介绍

迁移功能 在迁移过程中&#xff0c;没有明确的上下函数。取而代之的是sqlite_orm提供的sync_schema函数&#xff0c;它负责将实际的db文件模式和你在make_storage调用中指定的模式进行比较&#xff0c;如果有什么不一样&#xff0c;它就会改变或放弃/创建模式。 storage.sync_…

安卓系统体系架构

1.大体:共有四层&#xff0c;系统应用层&#xff0c;JAVA API层&#xff0c;安卓系统运行层&#xff0c;Linux内核层 具体: 系统应用层&#xff08;System Apps&#xff09; Java API 框架层&#xff08;Java API Framework&#xff09; Android系统运行层&#xff08;包括Andr…

Java命令:jstack — 获取线程dump信息

目录一、命令介绍二、使用实例实例一&#xff1a;jstack查看输出实例二&#xff1a;jstack统计线程数实例三&#xff1a;jstack检测死锁实例四&#xff1a;jstack检测CPU高一、命令介绍 Usage:jstack [-l] <pid>(to connect to running process) //连接活动线程jstack …

Java多线程死锁例子

目录一、产生死锁的原因二、如何避免死锁一、产生死锁的原因 发生死锁的情况&#xff1a; 多个线程需要同时占用多个共享资源而发生需要互相死循环等待的情况&#xff0c;就是&#xff0c;两个线程互相等待着对象释放锁&#xff0c;一直这样僵持下去&#xff0c;所以导致了死锁…

C++中lock_guard的学习

lock_guard 锁守卫是一个管理mutex对象的对象&#xff0c;使其始终处于锁定状态。在构造时&#xff0c;mutex对象被调用线程锁定&#xff0c;在销毁时&#xff0c;mutex被解锁。这是最简单的锁&#xff0c;作为一个自动持续时间的对象&#xff0c;它的作用特别大&#xff0c;可…

安卓四大组件简介

安卓四大组件 Activity活动&#xff0c;Service服务&#xff0c;BroadcastRecevicer广播接受器&#xff0c;Content Provider内容提供者 Activity活动 所有程序的流程都运行在activity中 Service服务 只能后台运行&#xff0c;没有界面的长生命周期的代码 BroadcastRece…

WebLogic域的创建与发布

目录一、前言二、准备三、创建域步骤第一步&#xff1a;直接【回车】第二步&#xff1a;直接【回车】第三步&#xff1a;直接【回车】第四步&#xff1a;输入域名称后【回车】第五步&#xff1a;直接【回车】第六步&#xff1a;直接【回车】&#xff08;此步骤是提示域的存放目…

安卓安卓移动操作系统优缺点

安卓移动操作系统优缺点 开发性 丰富的硬件 方便开发 gogle应用 安卓模拟器 手机,手表,电视,车载,安卓cel LogCat的使用–5级(日志) Log.v()–verbose全部信息,黑色 Log.d()–debug调试信息,蓝色 Log.i()–info一般信息,绿色 Log.w()–warning警告信息,橙色 Log.e()–erro…