今日のひらしょー本(20150407):Cp3

今日のひらしょー本の目次

http://snoopopo.hatenablog.com/entry/2015/04/27/114854

ポインタと配列

ポインタと配列が混同するので、もう一度.

char c = *p; //ポインタが指すデータを代入
char c2 = array[0]; //配列の0番目のデータを代入

どちらも、データを渡している.

newするときとしないとき

File file;  //①

File* file = new File();  //②

①はFileクラスのインスタンス生成をしてて、 ②もFileクラスのインスタンス生成しているけど、そのアドレスをポインタ変数fileに代入してる.

javaのようにnewをしないと生成されないわけではない.

①でなくて②を使うときはポインタ変数に入れて、アドレス渡しするときとかかな.

②はポインタに変数を入れてるので、deleteとポインタに0を代入する処理がないといけない. それに対して、①は、スコープが切れれば勝手にデストラクタ呼んでくれる.