C++のインライン関数
2012 ワード
本文は主にみんなと一绪にC++の中の内连関数を勉强して、更に深くC++の関连する用法を理解して掌握することができることを目的として、努力してそれを知ってまたその理由を知っています.インライン関数について,本稿では主に以下のいくつかの面から整理し,まとめた.一、関連記述1、インライン関数の主な目的は、関数の実行効率を高めるために、キーワードinlineで関数定義の前に置けばよく、関数をインライン関数として指定することである.2、インライン関数は、通常、プログラム内の各呼び出しポイント上で「インライン」に展開されます.たとえば、2つの数のサイズを比較する関数を定義します.
呼び出し
inline int max(int a,int b)
{
return a>b?a:b;
}
呼び出し
cout< :cout<b?a:b)< max 。
3、 、 、 , 。
、 の と C++inline は のためのキーワードであり、 にユーザーは の を ることができるが、 の は えない.1、 のようなスタイルの funcはインライン です.inline void func(int x,int y)
{
//...
}//inline
2.クラス に されたメンバー は にインライン になります.classA{
public:
void func(int x,int y)
{
//...
}
};
コンパイラがそれを にインラインするかどうかはfunc がどのように されているかを て、 だけでは りません.
、インライン の 1、インライン はヘッダファイルで すべきで、これは の とは なる.コンパイラは、 び しポイント で のコードを する 、 び し を コードに き えるにはinline の を つける がありますが、ヘッダファイルで だけでは ではありません.2、インライン の はソースファイルにも れることができますが、この 、 されたソースファイルだけが でき、ソースファイルごとに をコピーする があります(つまり、ソースファイルごとの は に じでなければなりません).ヘッダファイルに しても、コンパイラは ごとにコピーします.3、ソースファイルに することに して、ヘッダファイルに することで、 び し の が じであることを するとともに、 び し で を つけてインライン( )を することを することができる.4、ヘッダファイルにinline を または する 、そのヘッダファイルを したすべてのソースファイルを コンパイルする があります.
、いつインライン を いますか.インライン は、 び しのオーバーヘッドを くだけで、プログラムの を させることができます. の び しオーバーヘッドには、 を するために なオーバーヘッドは まれません.1、 の が に さい 、インライン は コードをもっと にすることができて、アクセス とその の に して に くて、 の な 、インラインの を します;2、 のコードを する が び しのオーバーヘッドよりずっと きい 、inlineの は さくなり、 、 インライン の び しがコードをコピーすると、プログラムの コード が し、より くのメモリ が される.