当我调用一个将传递const &
给const &
成员变量的构造函数时,会发生什么?由于 a const ref
,我的理解是“非常少” - 没有副本、移动、调用构造函数等 - 只是复制可能变成指针的东西。
例如
class ClassA
{
public:
ClassA(const double a):a_(a){}
const double a_;
};
class ClassB
{
const ClassA &classRef_;
public:
ClassB(const ClassA& a):classRef_(a){}
};
int main()
{
ClassA aObj(5.212);
ClassB bObj(aObj);
}
特别是,如果我想声明 as 的函数(例如这里的构造函数),ClassB
我noexcept
需要知道什么(如果有的话)ClassA
?