3

C18 コンパイラを使用して、C で Jalv2 のような疑似変数を作成する方法を探しています。疑似変数は、変数のように振る舞うものですが、実際には関数です。

Jalv2 では、次のような疑似変数を作成できます。

function the_var'get() return byte is
    -- some code
end function

procedure the_var'set(byte in value) is
    -- some code
end procedure

the_var実際にこれらの関数が実行されている間に、 に読み書きできるようになりました:

the_var = 0x40         -- actually executes the_var'set(0x40)
doSomething(the_var)   -- actually executes doSomething(the_var'get)

Cに似たものはありますか?

4

1 に答える 1

3

いいえ、C ではできません。プリプロセッサでもできません。オペレーターは=常に C でまったく同じことを行い、それをカスタマイズする方法はありません。

そのようなことをしたい場合は、別の言語を選択する必要があります。たとえば、C++ のように、 (operator =セッターの場合) とoperator int(ゲッターの場合) をオーバーライドできます。

于 2013-04-22T08:46:51.333 に答える