您的位置:首页 > 编程语言 > C语言/C++

C++基础(3) —字符串,向量,数组

2018-03-17 15:31 211 查看

1. 命名空间

using用法:在C++中,使用using可以声明命名空间,也可以给类类型起别名

如:

1.using namespace std; //这句话一般放在程序开头

2.using SI = student_item; //相当于给类名起了一个别名

应该注意:位于头文件的代码中,一般不用using声明。

2.标准库类型string

(1) 标准库类型string 定义在命名空间std中

用法:

#include < string >

using std:: string;

(2) 初始化string 对象的方式:

用法:

string s5 = “hello ”

string s6 (“hello “)

string s8 = string (10, ‘c’)

(3) 对string的操作如下:

用法:

从 is 中读取一行付给S: getline (is, s)

判断S是否为空: S..empty()

返回S中字符个数: S.size()

(4) 读取未知数量的string :

cin 与 getline() 区别:

cin : 在执行读取操作时候,刚开始会忽略空格,\n, \t 从真正的字符开始读,遇到下一个空白结束(这里的空白指空格,换行符,制表符)

getline() 只识别换行符,见到换行符就结束。

(5) string的比较

如果两个string相同,长短不同,则较短的字符小。

如果两个string 不同,比较第一个不同的char

对于string ,不能将两个字面值相加。

即: 字符串字面值,与string 是不同的类型。

3.标准库类型vector

标准库类型vector 时表示对象的集合,它容纳着相同的对象。但是不可以包括引用。定义方式:vector < string > s2 (10 , “hi”), 对于增加元素,用push_back()函数:

vector < int > va ;

for (int i = 0 ; i < 1090 ; i ++)

v2. push_back(i);

对于容器的比,和string比较差不多,如果对应位置元素相同,则哪个短哪个就小。不同的话,比较第一个相异的元素。

4.迭代器

通过下标运算符可以访问string和vector,获取地址用begin()和end()。返回的其实是指针。

迭代器的两个限制:

9992

(1)不能使用范围for 对迭代器添加元素

(2)对改变迭代器操作都会让vector的迭代器失效

(3)(*item).empty == item –> empty

5.指针的数组或者数组的指针:

读取原则:从括号内向括号外,从右向左。

(1) int * (& array) [10] : 首先知道 array 是一个引用,其次知道他引用的是一个数组,这个数组内有10各元素,元素类型都是int * 类型。

(2) int * ptrs[10] : ptr 是个i数组,里面含有10个元素,其中每个元素都是int * 类型。。。int * 类型就是int 指针类型。

(3) int (* ptrs)[10] : ptr 是 int * 类型, 他指向了一个数组,数组里边有10个int 元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: