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 元素。
相关文章推荐
- C++ 基础(三) —— 字符串、向量和数组
- [C++ 面试基础知识总结]字符串,向量和数组
- 字符串、向量和数组---C++ 基础
- C++字符串向量和数组
- 【c++语言基础】字符串数组与字符串
- Unix/Linux C++应用开发-C++基础概念"数组、指针和字符串"
- C++学习笔记三:字符串、向量和数组
- java基础改学C++(五)数组(2)字符串
- C++基础之字符数组和字符串
- C++字符串、向量和数组笔记
- C/C++基础知识总结——数组、指针域、字符串
- C++基础教程 学习笔记(二) 数组、字符串和指针
- C++Primer第五版 第3章 字符串、向量和数组(练习解答)
- C++学习笔记 | 第三章 字符串、向量和数组 | (1)
- C++基础之字符数组和字符串
- 【C++基础】 指针&字符串&数组
- C++ Primer 学习笔记(第三章:字符串、向量和数组)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- C++基础概念-数组、指针和字符串
- C++中的字符串基础知识