有关 const_iterator 的问题

有关const_iterator的问题在下面程序中,把const_注释掉,就会出错。为什么?#include<iostream>#include<string>#incl... 有关 const_iterator 的问题
在下面程序中, 把const_注释掉,就会出错。
为什么?

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

size_t count( const string &, const string & );

int main()
{
string child = "abd";
string parent = "xabaacbaxabb";

size_t counter = count( child, parent );
cout<<child<<" appears "<<counter<<" time(s) in "<<parent<<" ."<<endl;

return 0;
}

size_t count( const string & childstr, const string & parentstr )
{
size_t counter = 0;

string::/*const_*/iterator temp_iter1 = parentstr.end(), temp_iter2;//ERROR!!!!!!!!!!!!!!!
for(string::/*const_*/iterator iter = parentstr.begin(); iter != parentstr.end(); ++iter )//ERROR!!!!!!!!!!!!!!!
{
temp_iter2 = search( iter, parentstr.end(), childstr.begin(), childstr.end() );
if( temp_iter2 == parentstr.end())
{
return counter;
}
else if( temp_iter1 != temp_iter2 )
{
++counter;
temp_iter1 = temp_iter2;
}
}

cout<<"return error = -1"<<endl;
return -1;
}
展开
 我来答
justfor127
2008-08-07 · TA获得超过454个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:0
展开全部
看看你的size_t count( const string & childstr, const string & parentstr ) 函数的参数

const string& //这是个 pass by reference to const, effective c++ 里有讲过 是个搞效率的传送方式 比pass by value 高效很多

明白了么?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式