将以下代码放在内联函数中是否合理,或者对于内联来说太大了:
getPriority(const Data& data)
{
Priority plidPriority = PRIORITY_STANDARD;
if (data.isIPaddr)
{
Priority = PRIORITY_HIGHEST;
}
else if (data.plid == PROTO_HTTP || data.plid == PROTO_SIP || data.plid == PROTO_RTCP)
{
Priority = PRIORITY_PLID;
}
else if (data.port && data.port < 1024)
{
Priority = PRIORITY_ELEVATED;
}
return Priority;
}
最佳答案
仅仅因为您想将函数体内联到函数调用点而将任何代码放入内联是不合理的,任何现代编译器都会自行完成。
您应该使用 inline
作为安全绕过单一定义规则 (ODR) 并在头文件中定义函数的方法,而不是出于性能原因执行 do。
关于c++ - 内联代码应该有多小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19098567/