#include <map>
#include <iostream>
class CTest
{
public:
CTest()
{
std::cout << "ctor" << std::endl;
}
CTest(const CTest& other)
{
std::cout << "copy ctor" << std::endl;
}
CTest(CTest&& other)
{
std::cout << "move ctor" << std::endl;
}
CTest& operator= (CTest const& other)
{
std::cout << "copy assignment" << std::endl;
return *this;
}
CTest& operator= (CTest && other)
{
std::cout << "move assignment" << std::endl;
return *this;
}
virtual ~CTest()
{
std::cout << "dtor" << std::endl;
}
private:
int m_nTest;
};
int main()
{
std::map<int,CTest> m_TestMap;
m_TestMap[0];
//getchar();
//getchar();
return 0;
}
CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDxpb3N0cmVhbT4KCmNsYXNzIENUZXN0CnsKcHVibGljOgoJQ1Rlc3QoKQoJewoJICBzdGQ6OmNvdXQgPDwgImN0b3IiIDw8IHN0ZDo6ZW5kbDsKCX0KCQogICAgQ1Rlc3QoY29uc3QgQ1Rlc3QmIG90aGVyKQoJewoJICBzdGQ6OmNvdXQgPDwgImNvcHkgY3RvciIgPDwgc3RkOjplbmRsOwoJfQoJCglDVGVzdChDVGVzdCYmIG90aGVyKQoJewoJICBzdGQ6OmNvdXQgPDwgIm1vdmUgY3RvciIgPDwgc3RkOjplbmRsOwoJfQkKCQogICAgQ1Rlc3QmIG9wZXJhdG9yPSAoQ1Rlc3QgY29uc3QmIG90aGVyKQoJewoJICBzdGQ6OmNvdXQgPDwgImNvcHkgYXNzaWdubWVudCIgPDwgc3RkOjplbmRsOwoJICByZXR1cm4gKnRoaXM7Cgl9CgkKCUNUZXN0JiBvcGVyYXRvcj0gKENUZXN0ICYmIG90aGVyKQoJewoJICBzdGQ6OmNvdXQgPDwgIm1vdmUgYXNzaWdubWVudCIgPDwgc3RkOjplbmRsOwoJICByZXR1cm4gKnRoaXM7Cgl9CgkKCXZpcnR1YWwgfkNUZXN0KCkKCXsKCSAgc3RkOjpjb3V0IDw8ICJkdG9yIiA8PCBzdGQ6OmVuZGw7Cgl9CnByaXZhdGU6CglpbnQgbV9uVGVzdDsKfTsKCmludCBtYWluKCkKewoJc3RkOjptYXA8aW50LENUZXN0PiBtX1Rlc3RNYXA7CgltX1Rlc3RNYXBbMF07CgkvL2dldGNoYXIoKTsKCS8vZ2V0Y2hhcigpOwoJcmV0dXJuIDA7Cn0KCg==