在C ++中我们有模板函数。例如:
template<class A,class B>
void something(A a, B b){
//do something
}
编译器如何猜测类型A和B的修饰符?它们可以是A,A&amp;,const A&amp;等等... 它用于选择类型修饰符的标准是什么?它是由标准规定的吗?
答案 0 :(得分:1)
是的,标准对类型扣除有一些相当复杂的规则。它们在这里引用的时间太长了,但是希望知道行为是由C ++本身精确指定的,这足以让你满意。请注意,auto
的规则几乎相同。