Refers to the reference collapsing rules in C++ which specify how the type of template or auto variables should be deduced from the incoming types.
Questions tagged [reference-collapsing]
2 questions
2
votes
1 answer
What are the rules of rvalue(&&) lvalue(&) reference binding in templates with regard to reference collapsing?
Consider these cases:
int i{};
int& ir{i};
class A{
public:
int& i;
A(int&& pi):i(pi){}
};
A a1{i}; // Error // case 1
A a2{int(1)}; // OK // case 2
class B{
public:
int& i;
template
B(TYPE&& pi):i(pi){}
};
B…

AKL
- 1,367
- 7
- 20
0
votes
1 answer
Type deduction and reference collapsing in CTAD
Seems like I don't understand something fundamental about the type deduction /reference collapsing rules of C++. Say I have an object entity which takes by rvalue reference in the constructor and has a data member of the same type. I was fine with…

glades
- 3,778
- 1
- 12
- 34