第三章 字符串,向量和数组
2018-03-06 13:26
239 查看
using声明
定义和初始化string对象
string::size_type是一个无符号类型,并且能够存放下任何string对象的大小。
string对象中字符的处理:头文件cctype;
使用基于范围的for循环(原理就是基于迭代器的for循环,所以循环体内不可有添加删除元素的语句):
使用下标进行访问,总是设下标类型为string::size_type以确保下标不会小于0,此时只需保证下标小于size()就可以了。
vector,string的下标运算符不能用于添加元素。
const_iterator:只能用于读取容器内的元素,不能改变其值; 对const_iterator解引用,返回的是一个const值;
const常量必须被初始化,如果初始化的时候是个常量表达式,则在编译的时候就已经确定了(将用到该const常量的地方替换为相应值)。如果不是一个常量表达式,则要等到运行时才能确定(可能根据用户输出来确定const常量的值)。这个时候要将该const常量用到其他文件中,需要在定义和声明处加上extern。
数组的维数必须用值大于等于1的常量表达式定义,非const常量以及要到运行阶段才知道其值的const变量都不能用于定义数组的维数;
数组下标的正确类型是size_t;
using std::cin
定义和初始化string对象
//字符串字面值最后面有一个空字符,赋值给string之后string不带这个空字符。 string s = "hello"
string::size_type是一个无符号类型,并且能够存放下任何string对象的大小。
auto len = line.size(); //可以使用auto来定义类型,len的类型是string::size_type。不要混用int,如果int是负值则比较一定出错。
string对象中字符的处理:头文件cctype;
使用基于范围的for循环(原理就是基于迭代器的for循环,所以循环体内不可有添加删除元素的语句):
string s("hello world!"); for (auto c : s) cout << c; //这里是引用,所以修改的是s字符串中的每个字符。 for (auto & c : s) c = 'a';
使用下标进行访问,总是设下标类型为string::size_type以确保下标不会小于0,此时只需保证下标小于size()就可以了。
vector,string的下标运算符不能用于添加元素。
const_iterator:只能用于读取容器内的元素,不能改变其值; 对const_iterator解引用,返回的是一个const值;
const常量必须被初始化,如果初始化的时候是个常量表达式,则在编译的时候就已经确定了(将用到该const常量的地方替换为相应值)。如果不是一个常量表达式,则要等到运行时才能确定(可能根据用户输出来确定const常量的值)。这个时候要将该const常量用到其他文件中,需要在定义和声明处加上extern。
数组的维数必须用值大于等于1的常量表达式定义,非const常量以及要到运行阶段才知道其值的const变量都不能用于定义数组的维数;
//这是错误的! int d = 5; int f[d];
数组下标的正确类型是size_t;
相关文章推荐
- c++ primer(第五版)学习笔记及习题答案代码版(第三章)字符串、向量和数组
- C++学习笔记 | 第三章 字符串、向量和数组 | (1)
- 第三章 字符串、向量和数组
- c++ primer第三章 - 字符串、向量、数组
- 第三章 字符串、向量和数组
- 第三章 字符串、向量和数组(重点)
- C++ Primer学习笔记之第三章--字符串,向量和数组
- 第三章 字符串、向量和数组学习笔记(第一遍阅读)
- c++ primer概念整理第三章 字符串,向量,数组
- 2017-4-28 C++笔记 (第三章 字符串、向量和数组)
- C++ Primer 笔记——第三章 字符串、向量和数组
- C++ Primer | 第三章 字符串、向量和数组
- 第三章字符串,向量,数组
- 第三章 字符串、向量、数组
- C++ Primer中文版(第五版)--第三章 字符串、向量和数组
- [C++ primer]第三章笔记--字符串、向量和数组
- 菜狗的C++ primer读书笔记:第三章 字符串、向量和数组
- 《C++ Primer 第五版》学习笔记-第三章-字符串、向量和数组
- C++ Primer 学习笔记(第三章:字符串、向量和数组)
- 第三章 字符串、向量和数组