为什么std :: bind会占用太多参数?

Rya*_*ing 6 c++ language-lawyer c++14

在昨天处理了一些奇怪的东西之后,我的错误的原因是它std::bind可能需要更多的参数来进行调用

int f(int);
auto b = std::bind(f);
b(1,2,3,4,5,6); // 2-6 are discarded
Run Code Online (Sandbox Code Playgroud)

cppreference声称:

如果调用g()时提供的某些参数与存储在g中的任何占位符不匹配,则会评估并丢弃未使用的参数.

通过标准搜索我没有看到任何支持这一点.唯一可能使这个没问题的是:

20.9.2/4转发调用包装器是一个调用包装器,可以使用任意参数列表调用,并将参数作为引用传递给包装的可调用对象

因为,(我想)它并没有说"提供所有论据",但我不相信.

我在这个问题中的"为什么"由两部分组成

  1. 什么阅读标准明确表示std::bind允许放弃论证?

  2. 为什么这是理想的行为?对我来说,这感觉非常不可靠.我想不出一个我想要的非人为的情况,但可以想到它会成为一个问题.它是否以某种方式使我的实现更容易?