using声明
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;
第三章 字符串,向量和数组
最新推荐文章于 2024-02-07 14:47:46 发布