C++を勉強中です
クラスのインスタンス化(?)の時に
class Hoge; があったとして
の2通りの使い分けがわかりません。
「.」と「->」で使うのはわかるのですが、「.」でしか使えない場合(逆も然り)があるのかどうかというところがわからないです。
機械的に「全ての場合でこっちを使えば問題ない」ということであれば非常にわかりやすいのですが…
C++ クラスのインスタンス?
Re: C++ クラスのインスタンス?
は、
hoge->メンバ変数(関数)
のように指定できないし、
は、
hoge.メンバ変数(関数)
のように指定できません。
コンパイルエラーになります。[VS2017の場合]
必ず、
オブジェクト型「Hoge」は「.」、
ポインター型は「Hoge*」は「->」
を使うようにしましょう。
hoge->メンバ変数(関数)
のように指定できないし、
は、
hoge.メンバ変数(関数)
のように指定できません。
コンパイルエラーになります。[VS2017の場合]
必ず、
オブジェクト型「Hoge」は「.」、
ポインター型は「Hoge*」は「->」
を使うようにしましょう。
オフトピック
例外として、
オブジェクト型「Hoge」でも「->」が使える
パターンがありますが[operator->関数]、
その時はその時で質問しましょう。
オブジェクト型「Hoge」でも「->」が使える
パターンがありますが[operator->関数]、
その時はその時で質問しましょう。
素人的な質問は、素人に聞こう!
↑
危ない危ない。
ちゃんとした人に質問しましょう。
ちなみに私は、ちゃんとしていない素人です。
↑
危ない危ない。
ちゃんとした人に質問しましょう。
ちなみに私は、ちゃんとしていない素人です。
Re: C++ クラスのインスタンス?
ちょっと質問からズレた返答でした(汗)
どっちの型でもいいんですが、初心者の内は、
なるべく片方だけ使いましょう。
オブジェクト型のほうが安心です。
後々ポインター云々も覚えなきゃいけないので、
ちょっと安全ではないポインター型主体で勉強
してみる手もありです。
取りあえずは全く同じものと考えてもよいので、
悩むことはないと思います。
ご自身のやりやすいほうで、、、
どっちの型でもいいんですが、初心者の内は、
なるべく片方だけ使いましょう。
オブジェクト型のほうが安心です。
後々ポインター云々も覚えなきゃいけないので、
ちょっと安全ではないポインター型主体で勉強
してみる手もありです。
取りあえずは全く同じものと考えてもよいので、
悩むことはないと思います。
ご自身のやりやすいほうで、、、
素人的な質問は、素人に聞こう!
↑
危ない危ない。
ちゃんとした人に質問しましょう。
ちなみに私は、ちゃんとしていない素人です。
↑
危ない危ない。
ちゃんとした人に質問しましょう。
ちなみに私は、ちゃんとしていない素人です。