__pure

__pure キーワードは、関数宣言が純関数であることを示します。

関数は、以下の場合のみ、純関数になります。

__pure は、関数修飾子です。これは、関数の型に影響します。

Note

このキーワードには、同等の関数属性 __attribute__((const)) があります。

Show/hideデフォルト

デフォルトでは、関数は非純関数であることが想定されます。

Show/hide使用法

純関数は、共通部分式の削除の対象になります。

Show/hide制約条件

純関数として宣言された関数には、副作用はありません。純関数の例

  • 非純関数の呼び出しはできません。

  • コンパイラは、スタックメモリを除いて純関数がメモリにアクセスしないことを想定しているため、純関数はグローバル変数もデリファレンスポンタも使用することができません。

  • 同じパラメータで 2 度呼び出される場合、純関数は毎回同じ値を返す必要があります。

Show/hide

int factr(int n) __pure
{
    int f = 1;
    while (n > 0)
        f *= n--;
    return f;}

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0491EJ
Non-ConfidentialID081711