new
キーワードは、作成されたオブジェクトへのポインターを返します。つまり、それを引き続き参照する必要があります。パフォーマンスが低下する可能性があるのではないかと心配しています。
たとえば、私が直面している一般的な状況:
class cls {
obj *x; ...
}
// Later, in some member function:
x = new obj(...);
for (i ...) x->bar[i] = x->foo(i + x->baz); // much dereferencing
私は参照変数にあまり熱心ではありません。私は多く*x
の 's (例えば*x, *y, *z, ...
) を持っていて&x_ref = *x, &y_ref = *y, ...
、すべての関数の開始時に記述する必要があるため、すぐに面倒で冗長になります。
確かに、次のことを行う方が良いですか:
class cls {
obj x; ... // not pointer
}
x_ptr = new obj(...);
x = *x_ptr; // then work with x, not pointer;
では、によって作成された変数を操作する標準的な方法は何new
ですか?