#include <iostream>
#include <queue>
struct probe {
probe() { std::cout << "probe()" << ((void*)this) << std::endl; }
// probe(const probe&) { std::cout << "probe(c&)" << ((void*)this) << std::endl; }
probe(probe&&) { std::cout << "probe(&&)" << ((void*)this) << std::endl; }
~probe() { std::cout << "~probe()" << ((void*)this) << std::endl; }
};
int main() {
std::queue<probe> my_queue;
probe p;
my_queue.push(std::move(p));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CgpzdHJ1Y3QgcHJvYmUgewogICAgcHJvYmUoKSB7IHN0ZDo6Y291dCA8PCAicHJvYmUoKSIgPDwgKCh2b2lkKil0aGlzKSA8PCBzdGQ6OmVuZGw7IH0KICAgLy8gcHJvYmUoY29uc3QgcHJvYmUmKSB7IHN0ZDo6Y291dCA8PCAicHJvYmUoYyYpIiA8PCAoKHZvaWQqKXRoaXMpIDw8IHN0ZDo6ZW5kbDsgfQogICAgcHJvYmUocHJvYmUmJikgeyBzdGQ6OmNvdXQgPDwgInByb2JlKCYmKSIgPDwgKCh2b2lkKil0aGlzKSA8PCBzdGQ6OmVuZGw7IH0KICAgIH5wcm9iZSgpIHsgc3RkOjpjb3V0IDw8ICJ+cHJvYmUoKSIgPDwgKCh2b2lkKil0aGlzKSA8PCBzdGQ6OmVuZGw7IH0KfTsKCmludCBtYWluKCkgewoJc3RkOjpxdWV1ZTxwcm9iZT4gbXlfcXVldWU7CgkKCXByb2JlIHA7CglteV9xdWV1ZS5wdXNoKHN0ZDo6bW92ZShwKSk7CgoJcmV0dXJuIDA7Cn0K