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

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

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

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

2回答

2214閲覧

thisポインタの使い方

hikarhikar

総合スコア18

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2020/05/06 01:53

初歩的な質問になってしまうのですが、今まで当たり前のようにメンバ関数では、thisポインタを使用せず、メンバ変数に値を代入してきましたが、ある条件の場合にわざわざthisポインタを使用するという記事があったのですが、どのような時に使えばいいのでしょうか?
コンストラクタでつかうのでしょうか?

メンバ関数内からしかアクセスできない、オブジェクトを表すポインタがthisポインタで、通常はthisポインタを省略して使っているみたいですが、
thisポインタを省略しているだけなら、わざわざthisポインタを使用しメンバ変数にアクセスしなくていいのではないのでしょうか?
thisポインタを使用しなければ、メンバ変数の値が変わってしまうなど、注意しなければならないことがあるのでしょうか?
イメージができなかったので、教えていただければ幸いです。

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

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

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

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

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

guest

回答2

0

ベストアンサー

どのような時に使えばいいのでしょうか?

必要になったときに使えばいいです。

  • そのポインタを外部に渡す必要が生じた場合
  • *thisでオブジェクトそのものを参照したい場合
  • ローカル変数と同名のメンバ変数を参照したい場合

投稿2020/05/06 02:05

maisumakun

総合スコア146018

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

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

hikarhikar

2020/05/06 02:44

maisumakunさんご返信ありがとうございます! イメージがつかめました。 本当にありがとうございました
guest

0

自分のクラスの、と明示することで、その変数、メソッドがどこにあるものか、をわかりやすくするってことです。

あなたが組んだコードをあなたがみるだけなら、そこらへんは好きにすればいいとは思いますが、
コードを他人に見せる場合には、つけておいたほうが親切と言うもんでしょうね

投稿2020/05/06 01:59

y_waiwai

総合スコア88042

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

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

hikarhikar

2020/05/06 02:45

y_waiwaiさんご返信ありがとうございます。 なるほどです! 基本的には省略していいが、分かりやすくするためにつかうということですね! 本当にありがとうございました。<(_ _)>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問