c++*vs&でも受けられるようにな機能を宣言[複製]
-
22-08-2019 - |
質問
可能な重複:
差ポインタ変数を、参照変数をC++で
べきであることをここに宣言します私変数としてポイントvsブに渡される。そのコンパイルと同一のものを組み立て(少なくとも実行時の漸近的)なされることがあります。?
void foo(obj* param)
void foo(obj& param)
解決
僕のルールはシンプルです:使用できる値は、オプションとすることができればすると0になります。
を除くからのルールに関連付けます:すべての_obj_s周辺の格納容器かしたコードを見醜いを随所に foo(*value);
の代わりに foo(value);
そのためにこの値はできません0け assert(value);
の機能を開始。
他のヒント
追っていくの Googleスタイルガイド標準 その意味でもらった。ありませんでした:
内のパラメータをすべてリスト 参考文献が必要const:
void Foo(const string &in, string *out);
これは非常に強力な条約 Googleコードの入力引数 の値は定数の参照が 出力引数をポインタ.入力 パラメーターにconstポインタが、 ことを決して許していませんが非定数の参照 パラメータ。
一例するた入力 パラメータへのconstポインタの場合 することを強調 引数がコピーされませんので、必 が存在するの寿命についての、オブジェクト通常、ベストを書こ コメントしています。STLアダプターなど bind2ndとmem_fun許可しない 参照パラメータです を宣言する機能のポインタ パラメータをこれらの場合です。
この使用のポインタがあった場合には意味が通過 NULL
価値の機能です。とを指すポインタでできるようになることが関係ではないかと思います。参照することは予定されていないときではないかと思います。
(ただし、そのトリッキーなものをいて、現施策を継続することにNULLを渡への参照パラメータとします。が期待できるという機能が衝突するケースがあるようです。
他のコンベンションはその合格のポインタに機能、機能のポインタの所有権を持つオブジェクト(特にバイオエシックスのような参考数環境で行います。合格基準、という機能が期待でき用のオブジェクト期間中の関数の呼び出しないポインタをオブジェクトのための使用。
その他の差ポイントや参考文献であることが示唆されませんを参考にしないかぎり、パス、コンストラクタです。通しのポインタがこのオブジェクトがり込んでいきますが、のような複合パターンのオブジェクトです。
良きたいへんお世話になりました。利用のポインタは参考文献私のC++アプリケーション読む使用時のポインタを見ますと、使用時のポインタの書式が分かるので何も起きています。
同じく"0"または"NULL"です。好きですから、"NULL"のどこでも、3ヶ月後にする場合は、コードは次のように記述されています。
somevar_1 = 0;
somevar_2 = NULL;
知っている somevar_1
は int
( float
) somevar_2
何らかのポインタです。