関数の参照によって何かを返さないと、どのような状況でエラーが発生しますか?参照渡しと値渡し。 C++
答えて
関数の参照によって何かを返さないと、どのような状況でエラーが発生しますか?正確に求められているものへの答えを制限は
、
あなたは、関数の戻り値は、L値として行動したいときはいつでも、あなたはそれがエラーが発生します参照して戻りません。
operator []
(配列サブスクリプション演算子)がオーバーロードされる一般的な例は、l.h.s以上で[]
を正しく使用してl値として使用するには、参照渡しする必要があります。
class Myclass
{
int i;
public:
/*Not returned by reference- gives error*/
int operator[](int idx){ return i;}
/*Returned by reference- gives no error*/
//int& operator[](int idx){ return i;}
};
int main()
{
Myclass obj;
obj[1]= 10;
return 0;
}
出力:
prog.cpp: In function ‘int main()’:
prog.cpp:16: error: lvalue required as left operand of assignment
My Vectorクラスには、オーバーロードされた添え字演算子がありました。 Vectorの要素に値を設定します。私が[0] = 1を試してみたのと同じように、[0](ex。3)の値を1と比較して1に値を返すので値を返さないので、3 = 1になりますセンス。ありがとうございました! – user990689
ご質問は、参照することで安全でない場合があります。変数に参照用のローカル変数を渡すと、未定義の動作が呼び出されます。
コピーコンストラクタを正しく実装していないと、値で返されることは安全ではありません。
コピーコンストラクタがプライベート宣言されていて、値を返そうとするとエラーが発生します。
確かに。 「何がエラーを発生させるか」という事例は少なく、どんな状況で私が参考にして返さなければならないのかという事例は少ない。ポインタを使用する場所は、参照を使用できる場所です。 – Will
Qは明快で簡潔ですが、これは質問される質問には答えません。答えは重要な点ですが、質問された内容とは全く関係ありません。 –
@Alsは2番目の段落に答えません - "関数の参照によって何かを返さないと、どのような状況でエラーが発生しますか?" - c-ctorを実装していない。 –
デフォルトのアクションは値で返すことです。 が参照を返したい場合は、大きなオブジェクトの一部を公開する場合があります。 “部分”例えばベクトル内の要素または マップです。重要なことは、呼び出されるオブジェクトが呼び出す関数の寿命を超えて の寿命を持たなければならないことです。
- 1. 値渡し値渡し参照渡し
- 2. 値渡しと参照渡しJavaScriptで
- 3. 参照渡しと値渡し
- 4. 参照渡しとC++とJavaで値渡し
- 5. 参照渡しと参照渡し
- 6. C#の中括弧で値渡しと参照渡し
- 7. C++での参照渡しの値
- 8. python numpyとメモリ効率(参照渡しと値渡し)
- 9. JavaおよびC++は値渡しで参照渡しする
- 10. C++不変のカスタムクラスが参照渡しまたは値渡し
- 11. Cポインタを参照渡し?
- 12. C側の参照渡し?
- 13. C++参照渡し:エラー:コール
- 14. pthreadの参照渡し値
- 15. 値渡しとAndroidアダプタの参照渡し?
- 16. 値渡しと参照渡しの違い
- 17. r値参照としてC関数とパラメータを渡す
- 18. RcppとR:参照渡し
- 19. std :: thread渡しで参照渡しコピーコンストラクタ
- 20. CComPtr参照渡し
- 21. 参照渡しではなく値渡しの配列を送信するC++
- 22. ベクターを参照渡しするC++
- 23. はXcodeで参照渡し、C言語
- 24. C++再帰で参照渡し
- 25. python - 値渡しまたは参照渡し
- 26. Javaは値渡しか参照渡しですか?
- 27. Visual Basic 6.0値渡し参照差分
- 28. RWCString - 値渡しまたはconst参照
- 29. 参照での値渡しの防止
- 30. pandas DataFrameを参照渡し
カスケード事業者。 – chris
代入演算子http://www.parashift.com/c++-faq-lite/assignment-operators.html – EdChum