在 C++ 中,我们有模板函数。例如:
template<class A,class B>
void something(A a, B b){
//do something
}
编译器如何猜测 A 和 B 类型的修饰符?它们可以是 A、A&、const A& 等... 它用来选择类型修饰符的标准是什么?是标准规定的吗?
最佳答案
是的,该标准在类型推导方面有一些相当复杂的规则。它们太长了,无法在这里引用,但希望知道 C++ 本身精确指定的行为足以让您满意。请注意,auto
的规则几乎相同。
关于C++ 类型修饰符顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26732746/