【问题标题】:C18 pseudo variablesC18 伪变量
【发布时间】:2013-04-22 08:40:58
【问题描述】:

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

【问题讨论】:

  • 听起来您在 C 中要求“getter and setter”。不,这是不可能的。
  • @DietrichEpp 有解决方法吗?
  • 当然,直接调用函数即可。
  • @DietrichEpp 不是说它看起来像最后一个代码示例吗?
  • @modifiablelvalue 我还不知道这个功能是否有 C,所以我问了。

标签: c pic c18


【解决方案1】:

不,C 语言不可能。预处理器甚至不可能。 = 操作符在 C 中总是做同样的事情,没有办法自定义它。

如果你想做这样的事情,你必须选择一种不同的语言。例如,像 C++ 一样,它允许您覆盖 operator =(对于 setter)和 operator int(对于 getter)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 2012-04-02
    相关资源
    最近更新 更多