>函数向量(函数类型为std :: function< bool(const T&)>)
> std :: binary_function< bool,bool,bool>我将用于累积从1)到某个值的矢量应用的结果.
我希望能够使用std :: plus()和std :: multiplIEs()作为第二个模板参数,但问题是根据函数我需要一个相应的中性元素(对于std累积初始值).对于AND(std :: multiplIEs)我需要true(又名1),对于OR(std :: plus)我需要false(又名0).我知道我可以专门化模板并解决问题,但我想知道是否有办法为内置STL函数获取中性元素.
解决方法 如果你正在使用 gcc,你可以使用 __gnu_cxx::identity_element,这正是你所要求的.如果你不是,我认为没有一个通用的解决方案,好像有,gcc不会实现自己的 – 你可能只是重写他们的实现(实际上只是几个模板专业化,因为你预期).
编辑:此源代码位于this file的第78-98行.
总结以上是内存溢出为你收集整理的c – 为std :: multiply和std :: plus获取一个中性元素全部内容,希望文章能够帮你解决c – 为std :: multiply和std :: plus获取一个中性元素所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)