これが私の質問です。一部のクラスに割り当てられたメモリを持つポインターがあります。
Class *pClass = new Class();
今、私はこのオブジェクトをいくつかの関数に渡したいと思っています。関数は、このオブジェクトをコピーするためだけに使用し、変更しません。問題は、オブジェクトを正しく渡す方法です。
void someFunc (const Class &_class);
{
Class *pClassInFunc = new Class (_class);
...
}
...
someFunc (*pClass)
また
void someFunc (const Class *_class);
{
Class *pClassInFunc = new Class (*_class);
...
}
...
someFunc (pClass)
また
void someFunc (Class _class);
{
// just use _class since it's already a copy
...
}
...
someFunc (*pClass)
私は最初の方法を選択しましたが、私には奇妙に見えます。smth はそれが正しくないことを教えてくれます。2 番目のものは、より C スタイルに見えます (またはそうでない?)。そして最後のものはスタックにコピーを作成しますが、これは望ましくありません。それで、最善の解決策は何ですか?回答ありがとうございます。
編集: ちょうど見た、私は忘れていた * pClassInFunc の前に。訂正しました、すみません。