C++ Primer 5.5 迭代语句 5.6 跳转语句 知识点+练习题

2024-01-09 00:52:30

for语句

多重定义,可以for(int i=0,j=0;;)但是i和?j一定要是同一个类型,不允许两个声明

范围for

for(auto beg=v.begin(),end=v.end();beg!=end;++beg)
{
    auto &r=*beg
    r*=2;
}

以上为范围for与之等价的普通for语句
范围for需要end()不变,若在其中删除添加元素,则会导致迭代器失效,在P315会详细解释

?练习题

5.4.1 可用与练习5.12相似的思路,输入一个存一个

int current_cnt=1;
string current_str,pre_str="",max_str;//初始为空,不初始也会默认构造,都行
int max_cnt;
while(cin>>current_str)
{
    if(current_str==pre_str)
        ++current_cnt;
    if(current_cnt>max_cnt)
    {
        max_str=current_str;
        max_cnt=current_cnt;
    }
    else
        current_cnt=1;//不大于恢复本来的个数1
    pre_str=current_str;
}
5.17
可用迭代器操作,因为不改变,可用c++11新标准cbegin()
anto it=v.cbegin();只读 P98

文章来源:https://blog.csdn.net/2301_81198610/article/details/135389307
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。