我被std::function
argument_type
弃用了。对此previous question的回应引用了一篇实际上更进一步的论文,暗示result_type
和类似的类型定义是旧的/不好的做法。该文件特别建议,完美的转发使得argument_type
的需求无效。
那总是如此吗?有时你确实希望让参数的类型做更精细的事情,而不仅仅是转发。例如,数值优化对象可以将仿函数作为模板参数进行最小化,并使用其argument_type
来推导输入的精度,从而相应地调整停止条件常量。
为了做到这一点,会有更多的后C ++ 11方式而不是typedef吗?有没有办法自动推断出参数的类型而不必再以某种形式再次指定它?或者那些构造(一个类取决于另一个的参数类型)也被认为是不好的做法,什么是另类的实现?