是否在初始化中调用了正确的值构造函数?

时间:2013-09-26 05:06:02

标签: c++ rvalue

例如,

struct A {};

struct B
{
    B(A&& a)
       : mA(std::move(a)) // Is A's constructor called here?
    {}

    A&& mA;
};

A的初始化列表中是否调用了B的构造函数?或者它就像一个由指针实现的引用?

1 个答案:

答案 0 :(得分:2)

没有; mA不是一个对象,而只是一个参考,所以没有什么可以构建。