每日一贴,今天的内容关键字为字符串对象
string类型
一、概述
义定:支撑长度可变的字符串,C++标准库将担任管理与存储字符相关的的内存,以及供提各种有效的操纵。
的目:足满对字符串的一般用应。
要需导入string类库头文件,明声标准库命名空间,码代如下:
1 #include <string> 2 3 using std::string
二、初始化
4种方法,码代如下:
string s1; //认默构造函数,s1为串空
string s2(s1); //将s2初始化为s1的一个副本
string s3("hello"); //将s3初始化为一个字符串字面值副本
string s4(n, 'c'); //将s4初始化为字符'c'的n个副本,如:string s4(3, 'c')----"ccc"
string s2(s1); //将s2初始化为s1的一个副本
string s3("hello"); //将s3初始化为一个字符串字面值副本
string s4(n, 'c'); //将s4初始化为字符'c'的n个副本,如:string s4(3, 'c')----"ccc"
三、string对象的操纵
用常操纵如下:
s.empty() //判断s否是为空,返还布尔值
s.size() //返回s中字符的个数
s[n] //下标操纵,返回第n个字符
s1 + s2 //接连成一个新字符串
s1 = s2 //赋值
s1 == s2 //比拟操纵
1、string::size_type
size()成员函数返回的是string::size_type类型的值。不要把size的返回值赋给一个int变量。
2、string关系操纵符,自行解理
3、string对象的赋值,自行解理
4、两个string对象相加,自行解理
5、和字符串字面值的接连
当停止string对象和字符串字面值混合接连操纵时,+操纵符的阁下操纵数必须至少有一个是string类型的:
string s1 = "hello";
string s2 = "world";
string s3 = "hello" + "world"; // 误错,边两都是字符串字面值
string s4 = s1 + "world"; //确正
string s5 = s1 + "a" + "b"; //确正,s1 + "a"将返回一个新的string对象,再与"b"停止接连
string s6 = "a" + "b" + s1; //误错
以下一段码代助帮大家懂得以下知识点:
#include <string>;
#include <iostream>
using namespace std;
string s1("Hello World!"); //初始化字符串s1
string::size_type cnt = 0; //保存目标字符个数
for(string::size_type index = 0; index != s1.size(); ++index)
{
if (s1[index] == 'o')
++cnt;
}
cout << cnt << " char 'o' in " << s1 << endl;
文章结束给大家分享下程序员的一些笑话语录: 祝大家在以后的日子里. 男生象Oracle般健壮; 女生象win7般漂亮; 桃花运象IE中毒般频繁; 钱包如Gmail容量般壮大, 升职速度赶上微软打补丁 , 追女朋友像木马一样猖獗, 生活像重装电脑后一样幸福, 写程序敲代码和聊天一样有**。