CからC++に移行中の人が質問するためのスレ
■ このスレッドは過去ログ倉庫に格納されています
0007デフォルトの名無しさん
2005/04/16(土) 23:46:307. 構造体変数を引数にする場合(関数内でそれを書き替えない場合)はconst参照にしろ。値渡ししたかのように . でメンバへアクセスできる。
関数内で書き替える場合はconstじゃない参照にすれば良いのだが、
(呼び出し側で&を書くことで)書き換えることを明示できるとポインタにする人もいる。
コーディングスタイルの問題なので言い出すとキリが無くなる。(俺は参照に出来るときは常に参照派)
参照ではNULLを表現できないからNULLを指定しても良いときは当然ポインタを使うしかない(わけではないが)。
これはクラスにも当てはまる。
8. std::stringを使うときにはメンバのc_str()を使うとconst char *型の文字列へのポインタを手に入れられる。const_castするなよ。
9. malloc/freeの代替としてはstd::vectorもある。realloc相当のことをしたければnew/deleteは使えないしな。
10. usingディレクティブ(using namespace 〜;)は使用禁止。namespaseを使う意味がなくなるじゃないか。
using宣言(using std::cout;)ならOK。
■ このスレッドは過去ログ倉庫に格納されています