首頁  >  文章  >  後端開發  >  如何使用語法糖在 C 11 中實現屬性?

如何使用語法糖在 C 11 中實現屬性?

Barbara Streisand
Barbara Streisand原創
2024-10-27 21:07:30272瀏覽

How Can Properties be Implemented in C  11 Using Syntax Sugar?

C 11 中的屬性

C#:

<code class="csharp">public Foo foo { get; private set; }</code>

C#:
<code class="cpp">private:
    Foo foo;
public:
    Foo getFoo() { return foo; }</code>

C :

<code class="cpp">struct Foo
{
    class {
        int value;
        public:
            int &operator=(const int &i) { return value = i; }
            operator int() const { return value; }
    } alpha;

    class {
        float value;
        public:
            float &operator=(const float &f) { return value = f; }
            operator float() const { return value; }
    } bravo;
};</code>

<code class="cpp">Foo foo;

foo.alpha = 10; // Equivalent to foo.setAlpha(10)
int i = foo.alpha; // Equivalent to foo.getAlpha()</code>

> C 11 語法糖C 11 不提供屬性的直接語法糖,但您可以定義自己的語法糖。使用未命名的類,您可以建立如下結構:此結構可讓您存取屬性等成員:您可以透過新增getter 來進一步自訂此實現和setter 方法並擴展結構以支援類別成員存取。

以上是如何使用語法糖在 C 11 中實現屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn