我对std :: transfrom 的以下描述感到困惑:
unary_op - 将应用的一元操作函数对象.函数的签名应该等同于以下内容:
Ret fun(const Type &a);签名不需要
const &.
这两个陈述似乎是矛盾的.有人可以澄清这里的意思吗?如果签名是会发生什么Ret fun(Type a)或Ret fun(Type&& a)或Ret fun(Type& a)?
它试图说的是,fun必须是这样的:
*OutputIt = fun(*InputIt);
Run Code Online (Sandbox Code Playgroud)
是合法的.另请注意
unary_op...不得使任何迭代器无效,包括结束迭代器,或修改所涉及范围的任何元素.
,所以非const引用是合法的 - 但它不能使用非constness.
| 归档时间: |
|
| 查看次数: |
83 次 |
| 最近记录: |