码迷,mamicode.com
首页 > 其他好文 > 详细

stl(3)string容器

时间:2021-01-02 11:33:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:hid   i++   使用字符串   cat   管理   头文件   定义   nbsp   指定   

在C语言里面,字符串用char*来声明。在c++中定义了string类,包含在头文件<string>中。

string中封装了char*,是一个char*的容器,并且提供了很多实用的成员方法。

使用string的时候不用像char*需要考虑内存的释放和越界,这些都由string类内部进行管理。

1.创建string对象

(1)创建一个空字符串

string str;

(2)使用一个字符串初始化string

string str("test");

(3)使用一个string对象初始化另一个对象

string str("test");

string str1(str);

(4)使用n个相同字符初始化string对象

string str(10,‘a‘);

 

2.使用‘=’对string进行赋值操作

(1)使用字符串对string对象进行赋值

string str = "test";

(2)将一个string对象赋值给另一个string对象

string str ="test";

string str1 = str;

(3)将一个字符赋值给string对象

string str = ‘a‘;

 

3.使用assign对string对象进行赋值操作

(1)使用字符串对string对象进行赋值

string str;str.assign("test");

(2)用字符串的前n个字符对string对象进行赋值

string str;str.assign("test",2);

(3)将一个string对象赋值给另一个string对象

string str;

string str1 = "test";

str.assign(str1);

(4)使用n个相同的字符对string对象进行赋值

string str;str.assign(10,‘a‘);

(5)截取一个string对象的从第n个字符开始(n从0开始),取m个字符赋值给另一个string对象

string str = "woshidashab";

string str1;

str1.assign(str,0,5);//从str的第0个字符开始取5个字符赋值给str1

 

4.使用[]访问string对象中的指定字符

string str = "test";

for(int i = 0;i<str.size();i++){

std::cout<<str[i]<<std::endl;

}

 

4.使用at访问string对象中的指定字符

string str = "test";

for(int i = 0;i<str.size();i++){

std::cout<<str.at(i)<<std::endl;

}

 

5.使用[]和at访问string对象中的字符的区别

使用[]访问时如果越界程序会直接挂掉,使用try{}catch{]不能捕获到异常

使用[]访问时如果越界程序会抛出一个out_of_ranged的异常,使用try{}catch{]可以捕获到该异常

stl(3)string容器

标签:hid   i++   使用字符串   cat   管理   头文件   定义   nbsp   指定   

原文地址:https://www.cnblogs.com/maycpou/p/14208560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!