这是一个非常简单的问题,但是我好几年都没有正确地完成c++的工作,所以对此我感到有些困惑。另外,在互联网上查找(而不是尝试)不是最简单的事情(至少对我而言)。

为什么不使用new关键字,它如何工作?

基本上,这是怎么回事?

CPlayer newPlayer = CPlayer(position, attacker);

最佳答案

该表达式:

CPlayer(position, attacker)

使用上述构造函数创建一个CPlayer类型的临时对象,然后:
CPlayer newPlayer =...;

使用复制构造函数将提到的临时对象复制到newPlayer。更好的方法是编写以下代码以避免临时使用:
CPlayer newPlayer(position, attacker);

关于c++ - 没有新的C++对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1764831/

10-10 12:38