返回信息流如题,我的代码如下
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s("some string");
for(string::iterator it=s.begin();it!=s.end()&&!it->empty();++it)
*it=toupper(*it);
cout<<s<<endl;
}
然后我用gcc编译之后出现的问题
这是一条镜像帖。来源:北邮人论坛 / cpp / #80613同步于 2014/7/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
在使用迭代器的时候用到empty函数,出现的问题,帮忙看看这是什
Jackhou
2014/7/3镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
你这个迭代变量it指向的类型是char,不是string类型
【 在 Jackhou (you~~) 的大作中提到: 】
: 如题,我的代码如下
: #include<iostream>
: #include<string>
: ...................
通过『我邮2.0』发布
我想问一下这个怎么改,我就是想用他来判断迭代器指向的那个是不是为空,这个和他指向的内容的类型有关系吗
【 在 lecher 的大作中提到: 】
: 你这个迭代变量it指向的类型是char,不是string类型
:
: 通过『我邮2.0』发布
但是迭代器里应该是包含empty函数的,是编译器的问题吗
【 在 mogumogu 的大作中提到: 】
: 调不了empty吧 把empty函数换成 字符判断是否为空
你这个空是指迭代器是null还是其指向的字符是空字符?
【 在 Jackhou (you~~) 的大作中提到: 】
: 我想问一下这个怎么改,我就是想用他来判断迭代器指向的那个是不是为空,这个和他指向的内容的类型有关系吗
通过『我邮2.0』发布
itr只要在[start,end)之间,是不会为空的
【 在 Jackhou (you~~) 的大作中提到: 】
: 指向的元素为空
通过『我邮2.0』发布