练习10.41
仅根据算法和参数的名字,描述下面每个标准库算法执行什么操作:
【a】replace(beg, end, old_val, new_val);
【b】replace_if(beg, end, pred, new_val);
【c】replace_copy(beg, end, dest, old_val, new_val);
【d】replace_copy_if(beg, end, dest, pred, new_val);
解答:
【a】将容器中的所有old_val替换成new_val.
【b】将容器中第一个令pred返回true的元素替换成new_val
【c】将容器中old_val替换成new_val,拷贝到dest,并且原容器的值不变
【d】将容器中第一个令pred返回true的元素替换成new_val,拷贝到dest,并且愿容器的值不变
练习10.42
使用list代替vector重新实现10.2.3节(343页)中的去除重复单词的程序。
解答:
void elimDups(list<string>& words){
words.sort();
words.unique();
}
函数实现部分。