C++为什么复制构造函数参数必须为const?

2025-02-28 03:37:25
推荐回答(1个)
回答1:

语句Complex c3 = c1 + c2;中的c1 + c2的结果是一个临时变量(右值),在C++03中,只有const引用才能够引用右值。

所以加上const限定符有以下好处:既可以从const和非const左值复制构造,也可以从const和非const右值复制构造。