永发信息网

C++11中none_of的用法求助

答案:2  悬赏:40  手机版
解决时间 2021-03-03 09:49
C++11中none_of的用法求助
最佳答案
实现是属于标准模板库的一部分,但是很可惜。gcc在windows下的实现中对ctype文件进行了修改,mingw的ctype文件中的isupper被mingw重载(虽然我没找到是在哪里,但是gcc这么认为的)。
所以gcc需要对isupper进行写莫名奇妙的处理:用其他函数包装之后再传递,或者使用强制类型转换。
typedef int (*upper)(int);

int
main()
{
stringa="cdef";
boolb=none_of(a.begin(),a.end(),(upper)isupper);
cout<return0;
}
这样就行了,为啥vs不用呢,你去观察一下ctype文件就知道了。isupper函数可以唯一确定。
记住 g++ 要用-std=c++0x 或者-std=c++11 (>=4.7)编译选项。
全部回答
1. 看来gcc 4.7.2对谓词检查不完全支持~
2.
引用标准的原话:
template< class InputIt, class UnaryPredicate >
bool none_of( InputIt first, InputIt last, UnaryPredicate p );
Checks if unary predicate p returns true for no elements in the range[first, last).
(一元谓词检查是否p返回true的范围内没有任何元素[first, last))
3.
string a = "ABcdef";
bool b = none_of(a.begin(), a.end(), isupper);
就是说如果字符串a中没有大写,则none_of返回true,isupper是检查大写的函数。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
三国中的俗语
快乐居我想知道这个在什么地方
一个圆形花坛中央有一根旗杆,这个圆形花坛的
苹果手机突然没电再重新启动就好了
福记排骨饭旺角店在哪里啊,我有事要去这个地
下图是20世纪50年代中国的一幅漫画,画中的文
男生说“有啥事随时问我”是客气话么?
野生海河鱼店在哪里啊,我有事要去这个地方
为什么想做课程顾问
用全站仪放样、不是正南正北的楼如何用cad挪
铜泥厂对于一旁居民是否有危害,井水是否会被
庆熙大学校服是怎么样的,还有系服,有没有图
中国丝织品从长安出发经河西走廊……到大秦,
建青藏铁路遇到什么困难?
江源区矿产品鉴证处湾沟枫叶岭签证站这个地址
推荐资讯
好特甲眼镜这个地址在什么地方,我要处理点事
有个很老的电脑塔防游戏叫什么 单机的 有点像
富胜超市怎么去啊,有知道地址的么
北京工作好找不?
星光大道阿宝的老婆是谁?
心满艺足地址在什么地方,想过去办事
家里最有趣的事情
i read a magazine on the plane,which did n
浅谈征途2S魂魄石用途 如何选择才最重要
唐山116路公交用什么卡 在哪儿办?
有四位同学对学过的隋唐史进行概括,你认为其
古罗马大酒店-好运厅在什么地方啊,我要过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?