C18伪变量

时间:2013-04-22 08:40:58

标签: c pic c18

我正在寻找一种使用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有类似的东西吗?

1 个答案:

答案 0 :(得分:3)

不,用C不可能。预处理器甚至都不可能。 =运算符在C中始终执行完全相同的操作,并且无法自定义它。

如果你想做那样的事情,你将不得不选择另一种语言。例如,与C ++一样,它允许您覆盖operator =(对于setter)和operator int(对于getter)。