好き勝手に・げーあにん?

ファミコンと同い年の社会人ヌルオタの日記

const じゃない参照渡しはするなってばっちゃが言ってた

私は constの時は参照を使って、それ以外はポインタを使いましょう派です。中身を読むと、言ってることは、id:Isoparametricさんとほぼ同じ(?)なんですけどね。「いつでも」というタイトルに釣られたw

Hoge* huga(Hoge *pOut, const Hoge &in);

こうしとくと、呼び出し側の見た目が

huga(&a, b); 

みたいになるので、アドレスを渡してるほうは、関数内で値が変わる。参照を渡してるほうは、constだってすぐわかる。

‥‥っていうのを最初にバイトで入った会社で知って、それ以来ずっとこのルールで書いてる。

まぁ、これだと戻り値どうするの?って聴かれると結構困るんですけどね。それはまた別の話し。演算子オーバーロードとの兼ね合いもまた別の話し。

とりあえず、ここ数年で困ったことはないと思う。まぁ、ぶっちゃけ統一さえされてれば、どうでもいいんだけど(元も子もない)。

余計ごと

クラスのメンバ変数を参照で持つことは、私んちはそんなにしていません。

イネスさん - みねこあ

(゚∀゚)人(゚∀゚)ナカーマ
initialize とか作るのまで同じだ。shared_ptr なんてリッチ(?)なもの使わずに自前管理ですけどね。

余計ごと2

しばらく C++ ばっかりやってて、久しぶりに Java やら Ruby やらをやると、const が無いのが恐くなるのは私だけ?

void setHuga(const Huga &other);
const Huga* getHuga() const;

私は、C++ というより const が好きなのかも知れない。const_cast さえなければ真の心の平穏が保てるのに(ぇ)。 ‥‥いや、無いと果てしなく困る場面に何度か出会ってるけど。