#include <iostream>
using namespace std;

struct Widget {
	Widget(int) { cout << "ctor" << endl; }
};

struct Gadget {
	Gadget(const int&) { cout << "ctor" << endl; }
	Gadget(int&&) { cout << "ctor" << endl; }
};

int main() {
	int x = 5;
	Widget{x};
	Widget{10};
	Gadget{x};
	Gadget{10};
	return 0;
}