質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

2回答

474閲覧

C ++ メンバ関数の戻り値がインタンス変数に入る意味

ggga

総合スコア4

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2022/11/19 10:17

編集2022/11/19 10:44

以下実行時に、インスタンス変数にnow関数の
実行結果が入る意味が分かりません。now関数
特有の動きなのか、そもそもメンバ関数を実行した時はインスタンス変数に戻り値が入るのか教えて頂きたいです。よろしくお願いします。

A.now();

X=A

※A=インスタンス変数 now=メンバ関数

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

そもそもメンバ関数を実行した時はインスタンス変数に戻り値が入るのか

入りません

投稿2022/11/19 10:56

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

メンバ関数を実行した時にインスタンス変数にその戻り値が入ることはありません。

ただ、「見かけ上」そうであるかのように作ることは可能です。
そう言った意味ではnow関数特有の動き(実装)とも言えます。

C++

1class CLASS_A { 2 int retval; 3public: 4 int now(){ return this->retval = /*なにか計算*/; } 5 operator int() const { return this->retval; } 6}; 7 8CLASS_A A; 9int X; 10 11A.now(); // now()の戻り値自体は捨てられるが、内部的にメンバ変数retvalに保存される 12X = A;  // XにA.retvalの値が入る、X = A.retvalと同義(retvalはprivateなのでできないが)

投稿2022/11/19 13:54

Serbonis

総合スコア581

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問