现在的位置: 首页 > 综合 > 正文

c++基础五—标准库类型(string ,vector)

2018年09月13日 ⁄ 综合 ⁄ 共 1046字 ⁄ 字号 评论关闭

string类型

支持长度可变的字符串

因为历史原因以及为了与C语言兼容,字符串字面值与标准库string类型不是同一种类型。这一点很容易引起混乱。

s.empty ()    如果s为空串,则返回ture

s.size()

s[n]    返回s中位置为n的字符

size()操作返回的是string::size_type类型的值。很多库类型定义了一些配套类型,通过这些配套类型,库类型的使用就能与机器无关。string::size_type定义与unsigned具有相同的含义,而且可以保证足够大能够存储任意string对象的长度。所以不要把size的返回值赋给一个int变量。

当进行stirng和字符串字面值混合连接操作时,+操作符的左右操作数必须至少有一个是string类型的。

虽然任何整形数值都可以作为索引,但索引的实际数据类型却是unsigned类型string::size_type。

for (string::size_type ix = 0; ix != str.size(); ++ix) 

{

        cout << str[ix] <<endl;

str[ix] ='*';

}

cctype头文件定义的函数,适用于string对象的字符(或其他恩和char值)

isalnum(c)   是字母或数字,则为true

isalpha(c) 是字母

isdigit(c) 是数字

tolower(c) 如果c是大写字母,则返回其小写字母形式,否则返回c

toupper(c)

...

...

vector类型

vector称为容器,是一个类模板。

vector<int> ivec1 

vector<int> ivec2(ivect1)    //copy elements of ivec1 into ivec2;

vector对象(以及其他标准库容器对象)的重要属性就在于可以在运行时搞笑地添加元素。因为vector增长的效率高,在元素值已知的情况下,最好是动态地添加元素。

vector操作

v.empty()   如果v为空,则返回true

v.size()    v中元素个数  返回相应vector类定义的size_type的值       vector<int>::size_type

v.push_back(t)    末尾增加一个值为 t 的元素

v[n]  返回v中位置为n的元素

for (vector<int>::size_type ix = 0;  ix != 10; ++ix)

    ivec.push_back(ix)

必须是已存在的元素才能用下标操作符进行索引。通过下标操作进行赋值时,不会添加任何元素。

抱歉!评论已关闭.