#include<iostream>
inline void print(int value);
int main(){
print(1);
print(2);
print(379);
print(0);
print(12);
print(-1);
return 0;
}
inline void print(int value){
std::cout << value << std::endl;
}
実際の処理は次のようになる。関数呼び出しをせずに
呼び出し元に直接埋め込む。
#include<iostream>
int main(){
std::cout << 1 << std::endl;
std::cout << 2 << std::endl;
std::cout << 379 << std::endl;
std::cout << 0 << std::endl;
std::cout << 12 << std::endl;
std::cout << -1 << std::endl;
return 0;
}
この例だと記述する手間が大差ない
複素数の足し算とかの方が例としては適切だけどここではコードの分かりやすさ重視
メリットは説明不要
デメリットは使い方を間違えなければ無いと判断して良いと思う
C言語の関数マクロの代わりに使用するのかな
単なる文字列の置換ではないことを踏まえて両者を比較するべし
インライン関数の有用性が一瞬で分かるはず
PR