请查看以下函数:
现代的x86-64编译器是否足够聪明,如果优先级类型可以适应寄存器,会通过值而不是引用传递优先级参数呢?
考虑以下函数:
template <class T, class Priority>
void MutableQueue<T, Priority>::update(const T& item, const Priority& priority)
{
...
}
现代的x86-64编译器是否足够聪明,如果优先级类型可以适应寄存器,会通过值而不是引用传递优先级参数呢?
T
的实例可以适应寄存器,则编译器将通过复制进行传递。否则它可能会通过指针传递变量。 - Thomas Matthews