您的位置:首页 > 其它

第三章 字符串,向量和数组

2018-03-06 13:26 239 查看
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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: