Czy referencje „ponownego wiązania” w C ++ są zgodne z prawem?
Czy w C ++ jest następujące legalne?
O ile wiem,Reference
ma trywialny destruktor, więc powinien być legalny.
Ale myślałem, że odniesienia nie mogą być odbijane legalnie ... czyż nie?
template<class T>
struct Reference
{
T &r;
Reference(T &r) : r(r) { }
};
int main()
{
int x = 5, y = 6;
Reference<int> r(x);
new (&r) Reference<int>(y);
}