string、vector

1、string (标准库类型)

 (1)初始化:

string s1;
string s2="hello world";
string s3(5,'a');  //  s3="aaaaa";
string s4=s2;
string s5(s2);
string s6("value");

()与=的作用相似,()表示直接初始化   =表示拷贝初始化

(2)输入时,不读取空格,遇到空格读取结束。

(3) string类上的操作:

getline :读取一行,并输出.    用法:getline(cin,s1);

empty:判断字符串是否为空,若为空则返回1.  用法:ss.empty() 

size:判断字符串的大小   用法:  ss.size(),对于size()返回unsigned似乎是合情理的,但它返回的是                                    string::size_type类型(算是无符号类型)。

           size_t: 用作数组下标的数据类型

(4)字符串加法:

规则:可以相加的元素有:string对象、字符、字符串。字符与字符或字符串与字符串不能直接相加,并且相加时必须有一个string对象。

c++中,字符串与string对象是不同的类型。

(5) 修改整个字符串,范围for语句(可用于修改字符串中的某些字符)

格式:for(auto 变量:表达式)    第一、for会遍历表达式中的每一个字符  第二、遍历时会将表达式中的每个字符赋给变量

(6)处理部分字符:使用下标 s[] 、使用迭代器 

toupper   isspace 

auto: 声明的变量可以自动判断数据类型

2、Vector容器:

Vector是类模板。

(1)、形式:vector<type>v1;

(2)、初始化:vector<int>t(n,3); n个值为3的元素

vector<string>s(n,”hi”);n个值为hi的元素

vector<int>t(n);n个值为零的元素

vector<int>t{n};一个值为n的元素

vector<string>t(n);n个空字符串

vector<int>t{4,8};两个元素,一个值是4,一个是8

如果初始化使用了花括号的形式,但提供的值不能用来列表初始化,这时{}同()。

vector<string>t{10,”hi”};10个值为hi的字符串

(3)、对vector对象赋多个不同的值:

  vector<int> t;

for(i=0;i!=100;i++)

   t=push_back(i);  //100个t,值为0~99

(4)、遍历vector:

        范围for语句或使用下标

3、迭代器:

(1)迭代字符串:

for(autoc=s.begin();c!=s.end();++c)

    c是一个指针

(2)不同类型的迭代器:

   如:vector的迭代器it:vector<int>::iterator it;

      String的迭代器it:  string::iterator it;

若为const_iterator,则迭代器只能读

cbegin、cend,   迭代器只读

(3)迭代器解引用,可用于判断vector是否为空。

     (*it).empty()等价于it->empty()

    迭代器解引用就是取出迭代器指向的对象,进一步可以访问该对象的成员。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值