c++ - 内联代码应该有多小

标签 c++ inline

将以下代码放在内联函数中是否合理,或者对于内联来说太大了:

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/

相关文章:

c++ - 如何使用 C++ 非托管获取 Power Point 的运行版本?

c++ - 在函数中获取 c 样式字符串的大小(不是长度)

c++ - 使用面向对象注册窗口类

c++ - "n"键在Lua表中有什么特殊含义吗?

jquery - 使用 InstantEdit 2.0 JS 内联编辑 mysql 数据

c++ - C++类构造函数中 "inline"的理解?

c++ - 是否可以从渲染线程强制执行主线程(GUI线程)?

c - C "inline"关键字的替代项

html - 多个内联样式显示不正确

html - 内联显示按钮和标签