[問題] inline 函數的位址
大家好
就我的理解,inline 會直接將函數程式碼展開,而非 jump 到他的位址
這麼一來如果試著取得他的位址,是合理的動作嗎
比方說
inline int add(int lhs, int rhs) {
return (lhs + rhs);
}
inline int sub(int lhs, int rhs) {
return (lhs - rhs);
}
int(*)(int, int) getOperator(char op) {
switch (op) {
case '+':
return &add;
case '-':
return ⊂
default:
return nullptr;
}
}
這樣拿到的位址是有意義的嗎
假如有,是否表示 binary 中有他的 symbol 可以連結,且 inline 就無效了
因為這兩個函數很短,沒有 inline 的話跑久了是不是會浪費很多時間
謝謝大家
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.125.4
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1434222445.A.8D7.html
→
06/14 03:21, , 1F
06/14 03:21, 1F
→
06/14 03:22, , 2F
06/14 03:22, 2F
→
06/14 03:23, , 3F
06/14 03:23, 3F
→
06/14 03:58, , 4F
06/14 03:58, 4F
→
06/14 04:12, , 5F
06/14 04:12, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章