# マクロへのリファレンス渡しについて

**URL:** <https://forums.unrealengine.com/t/topic/408850>\
**Category:** Blueprint\
**Tags:** macro, unreal-engine, Blueprint, question\
**Created:** [November 6, 2017, 8:17am UTC](https://forums.unrealengine.com/t/topic/408850 "2017-11-06T08:17:31Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![fluflu111](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@fluflu111](https://forums.unrealengine.com/u/fluflu111)\
**Post date:** [November 6, 2017, 8:17am UTC](https://forums.unrealengine.com/t/topic/408850/1 "2017-11-06T08:17:31Z")

</div>

マクロノードへのリファレンス渡しについて質問させていただきたいです。

ブループリントで定義したマクロでは、関数と同じようにインプットする変数に対して、リファレンス渡しが設定できると思います。

そこで、私は次の2つのマクロを作成しました。

 ![219236-reference.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/9/c/5/9c56faa9634f437a1c5608e32fef763275b21d21.jpeg)

 ![219237-not-reference.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/3/4/b/34b53ccdeb8ae574cb05a2ca500f266eb5c48734.jpeg)

この2つのマクロは与えられたInteger型の値に100を足してセットしなおすものです。  
上はリファレンス渡しで下は値渡し(便宜上)となっています。  
しかし、実際には両方のマクロで"リファレンス渡しを設定"のノードが利用できます。

マクロであるのでコンパイル時にノードが展開されることを考えるとこれ自体は自然なことであり、次のようなプログラムでも実行結果は下のようになります。

 ![219238-beginplay.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/3/7/2377af568a21dc0935fa7974b4a3b9645938db4d.jpeg)

 ![219240-result.jpg](https://d3kjluh73b9h9o.cloudfront.net/original/4X/9/6/8/968f1a3121fac1080e6f8008a43a7593bfe3bba0.jpeg)

両方のマクロが同じ値を返しています。

そこで質問なのですが、マクロにおいてリファレンス渡しを設定できる意味は何なのでしょうか?  
どなたかご存知のかたがいたらご回答よろしくお願いします。
