【发布时间】:2014-08-25 15:11:54
【问题描述】:
假设我们有以下代码:
inline void DoSome()
{
cout << "do some" << endl;
}
int main()
{
void (*pDoSome)() = DoSome;
DoSome(); // one
pDoSome(); // two
}
对于上面的代码,我们有三种可能的场景:
- 一个将被内联,两个不会
- 一个和两个将被内联
- 一和二不会被内联(因为我们取了函数的地址)
现在我想知道以上哪种情况是真的?
【问题讨论】:
-
它们都可能是真的,这取决于编译器选择做什么。
标签: c++ function-pointers inline-functions