IAR C / C ++コンパイラのマニュアルでは、最適化に適したソースコードを作成するために次のように述べています。
&演算子を使用してローカル変数のアドレスを取得することは避けてください。これは2つの主な理由で非効率的です。まず、変数はメモリに配置する必要があるため、プロセッサレジスタに配置することはできません。これにより、コードが大きくなり、遅くなります。第2に、オプティマイザーは、ローカル変数が関数呼び出しの影響を受けないと想定できなくなりました。
ローカル変数のアドレスを取得する他の方法はありますか?明らかに、その変数へのポインターがあればそれを使用でき、配列があれば配列名を使用できることはわかっていますが、ローカル変数のアドレスを取得する他の方法を認識していません。 &演算子。