关于C++中同一类型内多次出现可选带约束auto占位符的示例问询
关于C++中同一类型内多次出现可选带约束auto占位符的示例问询
我打算用最新的C++草案来讨论占位符类型推导的相关条款,其中第3部分内容如下(我自己加粗了重点部分):
如果占位符类型说明符的形式是可选带类型约束的
auto,那么用于替换T的推导类型T′将按照模板实参推导规则确定。如果初始化是复制列表初始化,那么std::initializer_list的声明必须在占位符类型说明符之前。通过替换所有出现的可选带类型约束的auto,从T得到P:要么替换为一个新的虚构类型模板参数U,如果是复制列表初始化的话,则替换为std::initializer_list<U>。使用函数调用的模板实参推导规则来推导U的值,其中P是函数模板参数类型,对应的实参是E。如果推导失败,该声明是病态的。否则,将推导得到的U代入P中得到T′。
想请教大家,有没有示例能展示在类型T中多次出现(可选带类型约束的)auto,且这些auto会被推导为同一类型的场景?
比如第4部分关于decltype(auto)的内容里明确规定:
... T shall be the placeholder alone ...
这看起来也侧面说明了auto存在更灵活的扩展使用场景。
备注:内容来源于stack exchange,提问作者user20575107
相关产品推荐
相关产品推荐

