こんにちは
.(ドット演算子)と->(アロー演算子)の差は基本的にはありません。
コード:
class A
{
public:
A():a(0) {}
int a;
};
A obj ;
A *obj_p =new A();
int val1 = obj.a;
int val2 = obj_p->a;
int val3 = (*obj_p).a;
上記のコードではval1~3の値は等しくなります。(多分なるはずです^^;)
クラスのメンバにアクセスするときは.(ドット演算子)、クラスのポインタのメンバにアクセスするときは->(アロー演算子)を使います。
*(アスタリスク演算子?)を使って無理やりドット演算子でアクセスすることもできますが
私は素直にアロー演算子を使うほうが好きです^^
(見やすいし、ポインタっていうことがわかるから)
newが必要な場面は継承クラスを扱うときでしょうかね。
基底クラスのポインタに継承クラスのポインタを入れたり、、、
他の場面ではあまりnewは使わないですね(個人的な意見です^^;)