#include <iostream>
#include <queue>
struct probe {
probe()=default; // { std::cout << "probe()" << ((void*)this) << std::endl; }
// probe(const probe&) { std::cout << "probe(c&)" << ((void*)this) << std::endl; }
probe(int x){}
probe(probe&&) = default;
probe & operator=(probe &&)=default;
~probe() { std::cout << "~probe()" << ((void*)this) << std::endl; }
};
int main() {
std::queue<probe> my_queue;
probe p(2);
my_queue.push(std::move(p));
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cXVldWU+CgpzdHJ1Y3QgcHJvYmUgewogICAgcHJvYmUoKT1kZWZhdWx0OyAvLyB7IHN0ZDo6Y291dCA8PCAicHJvYmUoKSIgPDwgKCh2b2lkKil0aGlzKSA8PCBzdGQ6OmVuZGw7IH0KICAgLy8gcHJvYmUoY29uc3QgcHJvYmUmKSB7IHN0ZDo6Y291dCA8PCAicHJvYmUoYyYpIiA8PCAoKHZvaWQqKXRoaXMpIDw8IHN0ZDo6ZW5kbDsgfQogICBwcm9iZShpbnQgeCl7fQogICAgcHJvYmUocHJvYmUmJikgPSBkZWZhdWx0OwogICAgcHJvYmUgJiBvcGVyYXRvcj0ocHJvYmUgJiYpPWRlZmF1bHQ7CiAgICB+cHJvYmUoKSB7IHN0ZDo6Y291dCA8PCAifnByb2JlKCkiIDw8ICgodm9pZCopdGhpcykgPDwgc3RkOjplbmRsOyB9Cn07CgppbnQgbWFpbigpIHsKCXN0ZDo6cXVldWU8cHJvYmU+IG15X3F1ZXVlOwoJCglwcm9iZSBwKDIpOwoJbXlfcXVldWUucHVzaChzdGQ6Om1vdmUocCkpOwoKCXJldHVybiAwOwp9Cg==