模板函数参数的含义是什么
What is meaning of template function arguments?
我遇到了以下模板函数,
template<typename C, typename F = less<typename C::value_type>> void Sort(C& c, F f = F()){
sort(C.begin(),c.end(),f);
}
现在,我寻找更少,它建议,
二进制函数对象类,其调用返回其第一个 参数的比较小于秒(由运算符 <返回)。>
在上面提到的功能中,什么是少用的?它只有一个参数。
谢谢。
No. less
没有 1 个参数。它有 1 个模板参数。这与 1 个参数不同。此外,它是一个类而不是一个函数。更准确地说,它是一个functor
- 一个具有重载()
运算符的类,因此它可以用作函数。
考虑这样的实现
template<class T>
struct less
{
bool operator()(const T& left, const T& right) const
{
return (left < right);
}
};
less<int>
可以称为
less<int> f;
f(a,b);
其中 A 和 B int
S。
所以有一个模板参数(T == int),但有2个参数(int left 和int right)。
什么是少的用?它只有一个参数。
否,它只有一个模板参数。实际的函数调用本身采用两个参数,这两个参数(常量引用 IIRC)都是模板参数中指定的类型。
相关文章:
- C++部分概念 id:显式模板规范顺序/第一个参数的特殊状态的原因是什么?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 在模板参数中使用 {} 在 type_trait{} 中时,其作用是什么<T>?
- 当通知迭代器参数初始化为空列表的开头时,list::insert 行为是什么?
- 用相同的参数声明两个构造函数的最偶像化的方法是什么?
- 使用作为参数返回的指针的最佳做法是什么
- 初始化对象以在 C++08 中作为参数传递的首选语法是什么?
- 通过引用函数传递指针参数是什么意思?
- 自动参数捕获的扣除规则是什么?
- FFT函数的参数是什么意思
- 将共享指针传递给函数参数 - 将其分配给局部变量的正确方法是什么
- "in"和"out"在参数方向上是什么意思?
- v8 源代码中 ArrayMap 函数的回调 fn 参数是什么?
- 使用对函数和IO对象的引用(作为参数)的目的是什么
- 将显式指定的函数模板重载作为模板参数传递的正确语法是什么?
- 遍历模板参数包,没有争论的专业化的作用是什么?
- 函数参数中的 v=0 是什么意思
- 这个奇怪的函数参数是什么?
- 这个函数的参数是什么?
- 带有约束的可变参数模板的'requires'表达式的语法是什么?