小编Ste*_*eve的帖子

C++构造函数语法

简单问题:以下陈述是否相同?或者是第二个在幕后做更隐含的事情(如果是这样的话,是什么?)

myClass x(3);
myClass x = myClass(3);
Run Code Online (Sandbox Code Playgroud)

谢谢!

c++ constructor

12
推荐指数
3
解决办法
6372
查看次数

复制构造函数和基类C++

我希望能够从基类初始化派生类,如下所示:

class X {
   public:
   X() : m(3) {}
   int m;
};

class Y : public X {
   public: 
   Y() {}
   Y(const & X a)  : X(a) {}
};
Run Code Online (Sandbox Code Playgroud)

这样做有什么危险或不寻常的吗?我想要它,因为我正在反序列化一些我不会立即知道的类型的对象,所以我基本上想要使用X作为一些临时存储,而我正在读取整个序列化文件,然后创建我的Y对象(和W,X,Y objs,取决于数据)之后使用该数据.也许有一种我更容易丢失的方式.

谢谢!

c++ serialization constructor copy

3
推荐指数
1
解决办法
2312
查看次数

带引号的临时对象和参数的规则

说我上课了:

class A
{
 public:
 A() {}
};
Run Code Online (Sandbox Code Playgroud)

和功能:

void x(const A & s) {}
Run Code Online (Sandbox Code Playgroud)

我这样做:

x(A());
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释有关通过引用传递临时对象的规则吗?就编译器允许的内容而言,在需要const的地方,如果发生隐式副本等等.从游戏中看,你似乎需要有意义的const,但有关于所有这些的正式规则吗?

谢谢!

c++ reference temporary object

2
推荐指数
2
解决办法
386
查看次数

标签 统计

c++ ×3

constructor ×2

copy ×1

object ×1

reference ×1

serialization ×1

temporary ×1