c++ string和数组区别

头文件

#include<string>

初始化

//只声明
string str;
//声明且初始化
string str = "abc";
//声明后复制其他字符串值
string str2 = "abc";
string str1 = str2;
//声明后将所有字符都赋予同样值
string str(4,'s'); //字符串含有4元素,每个元素是字符s
可以使用数组指针的形式遍历字符串:str[i] //返回下标为i的字符串元素

但是和数组不同的是,字符串是可以动态插入,数组一旦声明大小后不可修改,string可以使用insert在任意位置插入元素,形式:

str.insert(str.end(),'s');  //在s的结尾处插入's'

注意:不论是数组还是string,都不可直接将长度声明为变量值,如下是不行的

string str1 = "abc";
string str2[str1.length()];  //这种方式是不行的,[]内只能是常量值

可以使用以下方式定义长度为变量的字符串或者数组

char *str2 = new char(str1.length());

c++ string和数组区别相关推荐

  1. 头文件cstring、string、string.h的区别

    头文件cstring.string.string.h的区别 <string>是C++标准库头文件,使用stirng类型必须首先包含string头文件,用于字符串操作,string类型可以进 ...

  2. JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

    一.首先来说说fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发.其主要特点是: ① 快速:fastjson采用独创的算法, ...

  3. vb 使用Array.ConvertAll将object类型数组转为string类型数组

    vb 使用Array.ConvertAll将object类型数组转为string类型数组有两种方法 1.    方法1 1 Dim int_array() As Object = {1, 2, 3} ...

  4. Java中Object.equals与String.equals的区别

    基础知识 Java的存储空间:寄存器.栈.堆.静态存储区.常量存储区(常量池).其他存储位置. 此处重点介绍堆和常量存储区: 堆:存储new的对象; 常量池:用来存储final static.Stri ...

  5. php string to array,php string转数组的方法

    php string转数组的方法:首先创建一个PHP示例文件:然后使用explode函数分割一个字符串并返回一个数组,或者通过"str_split"函数将string转换为数组即可 ...

  6. toString()和String.valueOf()的区别(转)

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 有的朋友在用这两个的时候感觉差不多 其实,很多时候效果是差不多的 但是,有的时候用.toString()会报错,而用S ...

  7. java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法

    展开全部 JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32 ...

  8. C语言 指针和数组区别 - C语言零基础入门教程

    目录 一.前言 二.指针和数组区别 1.通过 sizeof 获取大小 a.计算数组大小 b.计算指针大小 2.指针和数组赋值方式不同 a.指针赋值 b.数组赋值 3.指针是指针变量,数组是指针常量 三 ...

  9. java arraylist与数组转换_java中String,数组,ArrayList三者之间的转换

    免费资源网 - https://freexyz.cn/ ArrayList转为String和数组 造一个元素为Integer的ArrayList 为list_int 造一个元素为String 的 Ar ...

最新文章

  1. 设置显示VSCode的修改历史Local History,方便多人开发的时候快速查看谁修改了代码(也可以防止误删代码文件)
  2. Spring3.x事务失效的原因以及解决办法
  3. js轮询导致服务器瘫痪_演进:Tengine 从 Web 代理服务器 到 分布式推送服务器
  4. [置顶] Android开发者官方网站文档 - 国内踏得网镜像
  5. 汇编语言复习摘要二——寄存器
  6. [react] 装饰器(Decorator)在React中有什么应用?
  7. AjaxControlToolkit工具控件之Accordion错误解决方法
  8. 预训练 | 2022年 预训练的下一步是什么?
  9. OpenCV图像 OSG模型 vs2015 摄像头 图像 插入模型
  10. 三维人体姿态估计年度进展综述(周晓巍教授)
  11. 优动漫PAINT入门宝典——颜色配置实例展示
  12. 程序员转型之程序员这个职业到底怎么样?
  13. Java编程答题游戏
  14. CSS span标签中文字水平垂直对齐
  15. 【ACWing】1278. 树的统计
  16. 美国眼镜行业零售商Costco正式采购三井化学高折射率镜片单体MRTM
  17. 举个栗子!Tableau 技巧(197):用 Prep 数据去重的三种场景
  18. amp;#9733;《唐琅探案》后记【2】
  19. pikachu通关教程~~~~
  20. 仿腾讯手机管家快捷中心功能的实现方案

热门文章

  1. 边缘计算、网络功能虚化
  2. HTML head 头标签你真的了解么?
  3. 几款实用的个人知识管理工具
  4. 那些年我追过的程序员“大佬”,他们后来都怎么样了?
  5. 时间的本质 始终是科学界最大的谜团
  6. 台式计算机排行榜2018,2018最新电脑CPU排行榜
  7. 数据库update(动态更新)-SqlServer
  8. mysql从库读取数据轮训,1.1.17 控制自旋锁Spin Lock轮训间隔
  9. android 技术1-概要
  10. PyQt5 + QtDesigner 复刻 Windows 计算器 (二)