小人物学个大习(111-120)
C++ primer
vector初始化时使用了{}的形式,但是提供的值又不能用来列表初始化,就要考虑用这样的值来构造vector对象了
vector v7{10};v7有10个默认初始化的元素
vector v8{10,“hi”};v8有10个值为"hi"的元素可以使用push_back向vector中添加元素
vector v2;
v2.push_buck(i);最好不要在定义vector对象的时候设定其大小,可能会是的性能更差,除非所有的元素值都一样
如果循环体内部包含有向vector对象添加元素的语句,则不能使用范围for循环
vector和string对象有类似性
1.可以通过元素位置访问元素对象v[]
2.vector也有empty和size两个成员
3.相等于比较关系也与string相同vector对象的索引
vector scores(11,0);
unsigned grade;
while (cin>>grade)
{
if(grade<=100)
++scores[grade/10];
}vector对象的下标运算符可用于访问已存在的元素,而不能用于添加元素
可以使用迭代器来间接访问对象,iterator
有迭代器的类型同时拥有返回迭代器的成员,如begin(),end()
auto b=v.begin(),e=v.end();
如果容器为空,则begin和end返回的是同一个迭代器*iter返回迭代器所指的元素的引用
iter->mem解引用iter并获取该元素名为mem的成员,等价于(*iter).mem
怎么说呢,又走了一步。
2023年7月19日