#include #include #include #include #include class A { public: A(int Data) : Data(Data) {} private: int Data; }; int main(int argc, char *argv[]) { std::map> elements; for (short i = 0; i < std::numeric_limits::max(); i++) { elements.emplace(i, std::make_shared(i)); } { auto start__ = std::chrono::high_resolution_clock::now(); std::size_t count = 0; for (const auto el : elements) { count += 1; } auto end__ = std::chrono::high_resolution_clock::now(); std::cout << __func__ << ":" << __LINE__ << ": " << std::chrono::duration_cast( end__ - start__) .count() << "ns" << std::endl; } { auto start__ = std::chrono::high_resolution_clock::now(); std::size_t count = 0; for (const auto &el : elements) { count += 1; } auto end__ = std::chrono::high_resolution_clock::now(); std::cout << __func__ << ":" << __LINE__ << ": " << std::chrono::duration_cast( end__ - start__) .count() << "ns" << std::endl; } return 0; }