ホームページ  >  記事  >  バックエンド開発  >  C++ で → は何を意味しますか?

C++ で → は何を意味しますか?

下次还敢
下次还敢オリジナル
2024-05-01 10:00:30840ブラウズ

C では、「→」演算子 (メンバー アクセス演算子) は、次のようなクラスのメンバーにアクセスするために使用されます。 データ メンバー アクセス: データ メンバーへの参照を返します。メンバー関数呼び出し: メンバー関数を指す関数ポインターを返します。 「→」演算子はクラスのインスタンスへのポインターに対してのみ機能します。値の型には . 演算子を使用する必要があります。

C++ で → は何を意味しますか?

C の「→」演算子

C では、「→」演算子は「メンバー アクセス演算子」と呼ばれます。 "、クラスメンバーにアクセスするために使用されます。具体的には、クラス内のデータ メンバーやメンバー関数にアクセスするために使用されます。

文法

「→」演算子の構文は次のとおりです:

<code class="cpp">objectPtr->member</code>

その中には次のとおりです:

  • # objectPtr は、クラスのインスタンスへのポインターです。
  • member は、クラス内のデータ メンバーまたはメンバー関数です。

使用法: データ メンバーへのアクセス

「→」演算子を使用してデータ メンバーにアクセスすると、データ メンバーへの参照が返されます。次の例は、クラスの

name データ メンバーにアクセスする方法を示しています。

<code class="cpp">class Person {
public:
    string name;
};

int main() {
    Person person;
    person.name = "John Doe";

    string& name = person->name;
    cout << name << endl; // 输出:"John Doe"
}</code>

使用法: メンバー関数呼び出し

When the "→"演算子が使用されている場合 メンバー関数が呼び出されると、関数ポインターが返されます。次の例は、クラスの

getName メンバー関数を呼び出す方法を示しています。

<code class="cpp">class Person {
public:
    string getName() { return name; }
    string name;
};

int main() {
    Person person;
    person.name = "John Doe";

    string (*getName)(Person*) = person->getName;
    string name = getName(&person);
    cout << name << endl; // 输出:"John Doe"
}</code>

Note

    「→」演算子は次のことができます。のみ使用可能 クラスのインスタンスへのポインタ。
  • 値型の場合、「→」演算子は使用できません。
  • . 演算子のみが使用できます。
  • 「→」演算子は、「*」および
  • . 演算子よりも優先されます。

以上がC++ で → は何を意味しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。