1. ホーム
  2. c++

[解決済み] C++ newを使わないオブジェクト

2023-05-16 07:10:54

質問

これは本当に簡単な質問ですが、私は何年もまともにc++をやっていないので、これには少し困惑しています。また、それは試していないために、インターネット上で調べるのが最も簡単なもの(少なくとも私にとって)ではない。

なぜこれは new キーワードを使わないのでしょうか?

基本的に、ここで何が起こっているのか?

CPlayer newPlayer = CPlayer(position, attacker);

どのように解決するのですか?

この式は

CPlayer(position, attacker)

型の一時的なオブジェクトを作成します。 CPlayer を上記のコンストラクタを使って作成します。

CPlayer newPlayer =...;

この一時的なオブジェクトは、コピーコンストラクタを使って newPlayer . より良い方法は、テンポラリーを避けるために以下のように書くことです。

CPlayer newPlayer(position, attacker);